From e67f8dd2abe04903764a2e1a1d6ae096d38d715e Mon Sep 17 00:00:00 2001 From: gitarkreen <112999131+gitarkreen@users.noreply.github.com> Date: Tue, 13 Aug 2024 10:05:26 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20arkreen/?= =?UTF-8?q?ArkreenDocs@19d0a33751cd49d5c8abd342d90399f2ae17f736=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 8 ++++---- arec/arec-assets/index.html | 8 ++++---- arec/arec-badge/index.html | 8 ++++---- arec/arec-bridge/index.html | 8 ++++---- arec/arec-dapp/index.html | 8 ++++---- arec/arec-dex/index.html | 8 ++++---- arec/arec-overview/index.html | 8 ++++---- arec/arec-port/index.html | 8 ++++---- arec/arec-profile/index.html | 8 ++++---- arec/arec-quickstart/index.html | 8 ++++---- arec/art-token/index.html | 8 ++++---- arec/climate-actors/index.html | 8 ++++---- arec/climate-badge/index.html | 8 ++++---- arec/issue-arec/index.html | 8 ++++---- arec/liquidize-arec/index.html | 8 ++++---- arec/offset-art/index.html | 8 ++++---- arec/redeem-arec/index.html | 8 ++++---- .../pgp1-d0a8eb2d3df8e6a873a897e65378a980.jpg | Bin 0 -> 107231 bytes assets/js/0fa9f071.b488217e.js | 1 + assets/js/425367e4.747c374c.js | 1 - assets/js/425367e4.9ded98c3.js | 1 + assets/js/935f2afb.1a28a1f9.js | 1 + assets/js/935f2afb.c68b2c53.js | 1 - ...55a38e.a4610b4d.js => b955a38e.4ed32bf5.js} | 2 +- assets/js/main.35487b74.js | 2 -- assets/js/main.9bcf1fdc.js | 2 ++ ...ICENSE.txt => main.9bcf1fdc.js.LICENSE.txt} | 0 assets/js/runtime~main.0728958b.js | 1 + assets/js/runtime~main.c3d457a5.js | 1 - ecomodel/ecomodel_overview/index.html | 8 ++++---- faq/arec-faq/index.html | 8 ++++---- faq/buy-remote-miner/index.html | 8 ++++---- faq/energy-and-miner-status/index.html | 8 ++++---- faq/order-standard-miner/index.html | 8 ++++---- faq/reward-and-withdrawal/index.html | 8 ++++---- faq/road-to-depin-refi-campaign/index.html | 8 ++++---- governance/arkreen-mariners/index.html | 8 ++++---- governance/community-owned/index.html | 8 ++++---- governance/governance-overview/index.html | 10 +++++----- governance/voting/index.html | 8 ++++---- how-to-use/arkreen-app/index.html | 8 ++++---- how-to-use/arkreen-console/index.html | 8 ++++---- how-to-use/arkreen-explorer/index.html | 8 ++++---- .../data-collector-installation/index.html | 8 ++++---- how-to-use/green-btc/index.html | 8 ++++---- how-to-use/smart-plug-user-guide/index.html | 8 ++++---- img/pgp1.jpg | Bin 0 -> 107231 bytes index.html | 8 ++++---- nft/miner-nft/index.html | 8 ++++---- overview/arkreen-network-vision/index.html | 8 ++++---- .../background-and-the-pain-points/index.html | 8 ++++---- .../miner/consumption/plug-miner/index.html | 8 ++++---- .../miner/generation/gaming-miner/index.html | 8 ++++---- .../generation/lite-remote-miner/index.html | 8 ++++---- .../miner/generation/plant-miner/index.html | 8 ++++---- .../miner/generation/remote-miner/index.html | 8 ++++---- .../miner/generation/standard-miner/index.html | 8 ++++---- overview/miner/index.html | 8 ++++---- overview/pillar-applications/index.html | 8 ++++---- programs/community-solar-program/index.html | 10 +++++----- programs/csp-payment-safeguard-plan/index.html | 8 ++++---- programs/index.html | 10 +++++----- programs/plug-for-green-program/index.html | 16 ++++++++++++++++ programs/referral-program/index.html | 10 +++++----- .../claim-referral-gift/index.html | 8 ++++---- quick-start/arkreen-newcomer-guide/index.html | 8 ++++---- .../lite-miners-gift/index.html | 8 ++++---- quick-start/mainnet-transition/index.html | 8 ++++---- quick-start/smart-plug-quick-start/index.html | 8 ++++---- quick-start/staking-guide/index.html | 8 ++++---- roadmap/phase0/index.html | 8 ++++---- roadmap/phase1/index.html | 8 ++++---- roadmap/phase2/index.html | 8 ++++---- roadmap/phase3/index.html | 8 ++++---- roadmap/roadmap-overview/index.html | 8 ++++---- sitemap.xml | 2 +- .../index.html | 8 ++++---- .../plant-miner-rewards/index.html | 8 ++++---- .../index.html | 8 ++++---- .../index.html | 8 ++++---- .../index.html | 8 ++++---- .../index.html | 8 ++++---- .../proof-of-green-data/overview/index.html | 8 ++++---- .../smart-contract-deployment/index.html | 8 ++++---- token/network-primitives/index.html | 8 ++++---- token/token-distribution/index.html | 8 ++++---- token/what-is-akre/index.html | 8 ++++---- 87 files changed, 316 insertions(+), 299 deletions(-) create mode 100644 assets/images/pgp1-d0a8eb2d3df8e6a873a897e65378a980.jpg create mode 100644 assets/js/0fa9f071.b488217e.js delete mode 100644 assets/js/425367e4.747c374c.js create mode 100644 assets/js/425367e4.9ded98c3.js create mode 100644 assets/js/935f2afb.1a28a1f9.js delete mode 100644 assets/js/935f2afb.c68b2c53.js rename assets/js/{b955a38e.a4610b4d.js => b955a38e.4ed32bf5.js} (59%) delete mode 100644 assets/js/main.35487b74.js create mode 100644 assets/js/main.9bcf1fdc.js rename assets/js/{main.35487b74.js.LICENSE.txt => main.9bcf1fdc.js.LICENSE.txt} (100%) create mode 100644 assets/js/runtime~main.0728958b.js delete mode 100644 assets/js/runtime~main.c3d457a5.js create mode 100644 img/pgp1.jpg create mode 100644 programs/plug-for-green-program/index.html diff --git a/404.html b/404.html index 3cea568a..f07a79fe 100644 --- a/404.html +++ b/404.html @@ -4,13 +4,13 @@ Page Not Found | Arkreen Documentation - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - + + \ No newline at end of file diff --git a/arec/arec-assets/index.html b/arec/arec-assets/index.html index 5289d751..2ba15940 100644 --- a/arec/arec-assets/index.html +++ b/arec/arec-assets/index.html @@ -4,13 +4,13 @@ Arkreen Ecosystem Assets | Arkreen Documentation - - + +
Skip to main content

Arkreen Ecosystem Assets

In the Arkreen ecosystem, there are several kinds of digital assets:

Arkreen Assets and transition
  • AKRE:

    AKRE is the governance token and utility token of Arkreen community. It is rewarded to miners as the Proof of Physical Work (POPW) for generating green solar power. It is also charged as the Arkreen service fee in some AREC DApp flows, such as issuing AREC NFT. The AKRE token works as an incentive resource to drive the Arkreen community moving forward quickly and smoothly.

  • RE Miner:

    RE miner is the data collector of the renewable energy generation proof, which works 7x24 hours to monitor and generate the proof of the renewable energy generation. As an incentive, AKRE is rewarded to the owner of the miner.

  • RE Data:

    RE generation data are critical digital assets in Arkreen ecosystem. RE generation data can be used to issue the AREC NFT in the project current phase. Later, RE data might also be used to monitor and manage the RE transmission in the VPP application.

  • AREC:

    AREC is the Renewable Energy Certificate issued in Arkreen ecosystem. The truths that are continuously traced and recorded by physical miners, and also easily verified via cryptographic algorithms are the foundation of AREC issuance. AREC can be redeemed to commit a climate action.

  • ART:

    ART is the liquidized AREC asset with high liquidity. ART is ERC20 compliant, and can be swapped into other tokens within the Arkreen DEX. ART can also be offset to commit a climate action.

  • Climate Action:

    Climate Action is the digital record created within the Arkreen smart contracts while the climate actor redeems an AREC NFT or offsets some ART tokens. Climate Actions on-chain could be treated as the digital mapping of the climate actions taken in the physical world, within which all information related to the carbon offset commitment are recorded.

  • Climate Badge:

    Climate Badge can be freely minted based on climate actions on-chain, which can be used as the proof of carbon footprint offset. Climate Badges are SBT tokens bound to the climate actors.

  • AREC Asset Deployment

    AREC's core features and assets are primarily implemented in various smart contracts, compatible with the ERC-20 or ERC-721 specifications. Below are the token addresses of the aforementioned AREC assets. Users should exercise extreme caution and verify these addresses for security reasons when interacting with the AREC Dapp.

Smart contact NameDeployment Address
Miner0xbf8eF5D950F78eF8edBB8674a48cDACa675831Ae
AREC NFT0x954585adF9425F66a0a2FD8e10682EB7c4F1f1fD
ART0x58E4D14ccddD1E993e6368A8c5EAa290C95caFDF
AREC Badge0x1e5132495cdaBac628aB9F5c306722e33f69aa24
- - + + \ No newline at end of file diff --git a/arec/arec-badge/index.html b/arec/arec-badge/index.html index c5041fa1..56aceaf2 100644 --- a/arec/arec-badge/index.html +++ b/arec/arec-badge/index.html @@ -4,13 +4,13 @@ How to Mint Retirement Badge | Arkreen Documentation - - + +
Skip to main content

How to Mint Retirement Badge

The climate actor may freely mint the carbon retirement badge based on the climate actions created by redeeming AREC NFTs or offsetting ART tokens. The climate action is only effective once to mint the climate badge. Some information, such as the retirement entity, retirement beneficiary, and retirement supplementary remarks can be recorded in the retirement badge. With this badge, you could demonstrate your contribution to protecting our Planet and make that verifiable for governmental agencies, administrative departments, or other 3rd parties.

Mint Retirement Badge

Please follow the steps below to mint a retirement badge:

  • Step 1. Visit AREC Dapp, and connect your wallet

  • Step 2. Visit Mint Retirement Badge page

    • On PC: Click the Badge item in the left navigation bar.

    • On smartphone: Select Badge item under the AREC top menu

    On the top of Mint Retirement Badge page, 2 data items are displayed:

    • Total Number of Retirement Actions: Total number of climate actions available to mint the retirement badge.

    • Total Retirement Amount to Mint: Total amount of renewable energy retired by all the climate actions in your account.

Mint Badge on PC
Mint Badge on phone
  • Step 3. Select the retirement action(s) to mint a climate badge

    In the list Retirement Action List , all your retirement actions are listed. For each action, action ID and RE amount of this action are displayed.

    Select one or multiple retirement actions to mint the badge.

    info

    Use Ctrl + click to select multiple actions.

    Once you have selected the retirement actions, the RE amount total of the selected actions will be shown under the list.

  • Step 4. Mint Retirement Badge

    Four optional information items may be specified for your retirement badge to mint:

    • Badge Owner's Name: As the owner of the retirement badge, you could specify a personalized name.

    • Beneficiary Account Address: The retirement beneficiary can be specified if it is not the climate actor oneself. This is the crypto account address of this beneficiary.

    • Beneficiary Name: This is the name of the retirement beneficiary if not the climate actor oneself.

    • Retirement Memo: Retirement intention details can be described herein.

    Click the button Mint Retirement Badge to mint a retirement badge. Check the transaction information in MetaMask, and Confirm the transaction if there are no issues.

    While your transaction goes on chain, all the retirement actions are used up, and a retirement badge is minted to your wallet. Please refer to My Profile to view the newly generated badge.

- - + + \ No newline at end of file diff --git a/arec/arec-bridge/index.html b/arec/arec-bridge/index.html index a6327f76..7a64fd53 100644 --- a/arec/arec-bridge/index.html +++ b/arec/arec-bridge/index.html @@ -4,13 +4,13 @@ AREC Bridge | Arkreen Documentation - - + +
Skip to main content

AREC Bridge

In addition to issuing AREC based on renewable energy generation proof sourced from the Arkreen network, the AREC Dapp goes a step further by offering support for the issuance of AREC assets using classic REC assets like I-REC, TIGR, Green-e, and others. This unique capability, called as the AREC bridge feature, enables the seamless integration of traditional RECs from the physical world into the innovative Web3 ecosystem.

By bridging the gap between traditional REC systems and the decentralized Web3 world, the AREC Dapp unlocks new opportunities and synergies. It empowers individuals and organizations to leverage the power of blockchain technology and decentralized finance (DeFi) to accelerate the global carbon neutrality movement.

With the AREC Dapp as a powerful financial instrument, participants can easily trade, invest, and engage in various financial activities related to AREC assets. This fosters more liquidity, transparency, and efficiency compared to the traditional renewable energy market, enabling a wider adoption of sustainable practices and contributing to a more sustainable future.

The following diagram illustrates the 5 steps to issue AREC assets using the AREC Bridge:

AREC bridge process

Step 1. Register AREC asset

Not everyone has the authorization to utilize the AREC Bridge for issuing AREC assets. If you intend to issue AREC assets, it is necessary to contact the Arkreen Foundation first. The foundation will evaluate your qualifications, and upon successful qualification review, they will collaborate with you to determine the attributes of the intended AREC assets, including:

  • asset description,
  • issuance fee rate,
  • liquidation fee rate,
  • token address for payment of issuance fees, and
  • the certifier address responsible for auditing and certifying the issuance of AREC assets.

In cases there is a need to independently deploy an ART token to hold your liquidized AREC assets, the Arkreen Foundation will take responsibility for deploying the ART token on the blockchain. This ART token address, along with the aforementioned information, will be included in the registration details of the AREC assets.

During the AREC NFT stage, AREC assets issued by different entities or individuals are distinct and separate. Whether it is necessary to create a separate ART Token for the AREC asset needs to be negotiated and determined between the issuer of the AREC asset and the Arkreen Foundation. If the Arkreen Foundation agrees, the same ART token can be used to accommodate multiple AREC assets issued by different issuers. This approach enables the aggregation of AREC assets from different issuers, providing the market with more flexibility and liquidity. It's important to note that only REC assets with similar characteritics are eligible for aggregation.

The registration of AREC assets is a one-time process. Once successfully completing the registration, you can issue AREC assets multiple times using REC assets that share similar attributes. Each issuance request will be reviewed by the Arkreen Foundation, and approval will be granted only if the REC assets meet the necessary requirements.

Step 2. Request to issue AREC

When you intend to issue AREC assets based on REC assets, you need to utilize the AREC Dapp to initiate an on-chain request for issuing AREC. Within this transaction, you will need to specify the quantity of REC assets you own and wish to convert into AREC assets. Additionally, you will be required to pay the corresponding issuance fees according to the defined issuance fee rate for the target AREC assets.

Upon completion of this transaction, an AREC NFT will be minted for you. At this stage, the NFT's status will be "Pending" and it is non-transferable and non-liquidizable. Please ensure to copy and store the ID of this NFT and the transaction hash value from the AREC Dapp, as you will need them for subsequent steps. Alternatively, you can retrieve this information using a blockchain explorer.

Step 3. Redeen RECs to to issue AREC asset

To redeem your REC assets, please follow the redemption process provided by the REC issuing entity. It is important to ensure that the quantity of REC assets being redeemed matches the specified REC quantity in the AREC NFT mentioned above. When declaring the redemption purpose, clearly state that it is for the issuance of AREC assets and include the ID of the AREC NFT along with the corresponding transaction hash value. Incorrectly stating the redemption purpose may hinder the subsequent steps of AREC asset issuance, potentially resulting in the loss of your assets. If you are uncertain about how to describe the redemption purpose accurately, please reach out to the Arkreen Foundation for assistance.

Step 4. Update AREC NFT details

Once the redemption of your REC assets is complete, you will receive a proof of REC redemption. Please save this proof as a PDF file and submit it to the Arkreen Foundation. The foundation will verify the authenticity of the proof and ensure that the information aligns with the issuance details of the AREC NFT. Additionally, the Arkreen Foundation will upload the PDF file to FileCoin for permanent storage and provide you with the CID (Content Identifier) to access the file.

After obtaining the CID, you need to complete the missing information of the AREC NFT on the blockchain. This includes the actual start and end date of the renewable energy generation for the REC assets, the production region of the REC assets, the CID of the redemption file, and the access URI link to the redemption file. Once these details have been added, please allow the Arkreen Foundation some time to review and verify the information.

Step 5. Certify AREC asset issuance

The Arkreen Foundation regularly monitors the status of AREC NFTs issued on the blockchain. When the issuance information of the AREC NFT is complete, a thorough review will be conducted to ensure the integrity, consistency, and authenticity of the AREC asset issuance details. If the review is successful, a transaction will be initiated on the blockchain to approve the issuance of the AREC asset. At this stage, the issuance of the AREC asset is considered successful, and the AREC NFT can be normally transferred, redeemed, or liquidated.

If the review is unsuccessful, the Arkreen Foundation will reject the issuance of the AREC asset on the blockchain. In such cases, you need to update the information of the AREC NFT and await another round of review and verification.

- - + + \ No newline at end of file diff --git a/arec/arec-dapp/index.html b/arec/arec-dapp/index.html index 4a5ab129..73916ea4 100644 --- a/arec/arec-dapp/index.html +++ b/arec/arec-dapp/index.html @@ -4,13 +4,13 @@ AREC Dapp | Arkreen Documentation - - + +
Skip to main content

AREC Dapp

AREC DApp is the one-stop AREC service access entrypoint for the Arkreen community members to manage AREC related assets. It relies on multiple smart contracts deployed on the blockchain to provide services around AREC, including: issuing AREC, redeeming AREC,liquidizing AREC to ART, offsetting ART, solidifying ART to AREC, buying ART and minting Arkreen badge.

Please visit AREC Dapp here.

  • Issue AREC

    AREC is an NFT minted on the blockchain. Only the owners of the standard/remote miners are eligible to issue the AREC based on their RE generation data. Once an AREC NFT is minted, its corresponding RE generation data are consumed forever. The AREC can be listed for sale on any NFT open market.

  • Redeem AREC

    Anyone holding an AREC NFT can redeem the AREC to neutralize one's carbon emission. You can mint the AREC by running some miners, or buy the AREC in the NFT open market as a climate actor. Once the AREC NFT is redeemed, you are able to mint an Arkreen badge freely as the evidence of your climate action commitment.

  • Liquidize AREC

    AREC NFT can be liquidized to mint some ART tokens, the amount of which is exactly equal to the RE output conveyed in this AREC. ART, as an ERC20 token, has much better liquidity than AREC NFT, so it can be easily swapped into other crypto tokens within Arkreen DEX. ART can also be solidified to mint the AREC NFT by getting burned.

  • Offset ART

    Offsetting ART is to burn some ART tokens for eternity as a climate action. As the return, you are eligible to mint freely an Arkreen badge, the evidence of your climate action commitment. Climate actors can get ART tokens by swapping with other crypto tokens, such as USDC or MATIC. Arkreen DEX, integrated already with AREC DApp, provides such token exchange service.

  • Solidify ART

    Solidifying ART is to burn the given amount of ART tokens to recover the transferability of the AREC NFT under the FIFO (First-In-First-out) policy. The output AREC NFT is transferred to the wallet solidifying the ART tokens, and it will function normally as to be listed on the open market, or to be redeemed to neutralize carbon emission.

  • Buy ART

    Climate actors can buy ART tokens within the Arkreen DEX, and then offset these ART to achieve personal carbon neutrality. By combining two steps together: buying some ART tokens first, and then solidifying these ART tokens into an AREC NFT, the AREC DApp actually provides an alternative way to buy AREC NFT other than the open NFT market. ART, the AREC in the form of ERC20, can be easily composed with the DeFi and Web3 space to extend the accessibility of carbon emission reduction.

  • Mint Arkreen Badge

    While a climate actor redeems an AREC NFT or offsets some ART tokens, a digital climate actions will be registered within the Arkreen smart contract for the actor. Arkreen climate badge can be freely minted by all climate actors owning some climate actions. The Arkreen badge is designed as non-transferable SBT token bound to the actor's wallet, and may be used by the actor to show off the honor committing some climate actions.

- - + + \ No newline at end of file diff --git a/arec/arec-dex/index.html b/arec/arec-dex/index.html index d529d6b1..7231f861 100644 --- a/arec/arec-dex/index.html +++ b/arec/arec-dex/index.html @@ -4,13 +4,13 @@ arec-dex | Arkreen Documentation - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/arec/arec-overview/index.html b/arec/arec-overview/index.html index 1ccb1dcf..50bbee23 100644 --- a/arec/arec-overview/index.html +++ b/arec/arec-overview/index.html @@ -4,13 +4,13 @@ AREC Overview | Arkreen Documentation - - + +
Skip to main content

AREC Overview

AREC, Arkreen Renewable Energy Certificate, is the REC issued on the basis of the renewable energy generation proof sourcing from the Arkreen Network. With the help of high efficiency and amazing composability of the Web3 technology, AREC targets to be the fundamental financial instrument to gear up the global carbon emission reduction progress.

The following diagram shows how the renewable energy generation proofs are collected from Arkreen miners, and provided as the verifiable fact to issue the AREC, an NFT in crypto world. AREC NFT, as a digitalized crypto asset, can be redeemed to offset carbon emission, and also can be liquidized to ART, an ERC20-compliant token with high liquidity. ART, the AREC in the form of ERC20, can be exchange into many other crypto assets held as personal wealth, and also can be offset to neutralize carbon footprint.

🛠 Miners

Miners are the renewable energy (RE) generation data collectors and provers. Connected to the meters of the RE generators (mainly solar panels in current phase), miners consecutively sign and send the RE generation data to the Arkreen Network. As an incentive, AKRE tokens are rewarded to the miner's owner based on the amount of the RE output.

🧑‍🤝‍🧑 Arkreen Network

Arkreen Network, the center of the Arkreen RE ecosystem, keeps running as a cloud service to continuously collect RE data from miners, and distributes AKRE tokens to the miner's owner as the mining reward. RE data are verified and stored into IPFS storage, and can be consumed anytime to issue the AREC at the requirement or approval of the RE data owners. Arkreen Network also provides friendly user interface for the community members to get involved in Arkreen activities and manager their assets in Arkreen ecosystem.

📊 AREC DApp

AREC DApp is the one-stop decentralized app around AREC related assets and services. It relies on multiple smart contracts deployed on the blockchain, and provides the access UI to the various AREC services including: issuing AREC, redeeming AREC, liquidizing AREC to ART, offsetting ART, solidifying ART to AREC, buying ART and minting Arkreen badge. All these services keep being extended, improved and optimized to meet the expectation from Arkreen community.

- - + + \ No newline at end of file diff --git a/arec/arec-port/index.html b/arec/arec-port/index.html index ea0759a6..ba74023b 100644 --- a/arec/arec-port/index.html +++ b/arec/arec-port/index.html @@ -4,13 +4,13 @@ AREC Port | Arkreen Documentation - - + +
Skip to main content

AREC Port

The standard process of utilizing AREC (Arkreen Renewable Energy Certificate) to offset one's energy consumption is as follows: purchase and redeem AREC NFTs to commit climate actions, or buy and offset ART tokens to commit climate actions. Then, based on the climate action(s), mint a climate badge, which may serve as proof of carbon neutrality for the badge beneficiary.

This process seems too technical and difficult to understand for individuals or institutions, potentially affecting the promotion and popularization of AREC applications and impeding its role in driving the transition to green energy. For ordinary people who have not yet entered the Web3 field and do not possess their own Crypto wallets, the technical threshold for using AREC is quite higher. Even for a large number of projects already in the Web3 domain, quickly integrating green energy carbon reduction features into their projects still involves significant technological complexity.

Therefore, enabling the general public and traditional institutions to easily access AREC applications, participate in, and promote the progress of green energy carbon reduction has become a challenge that needs to be solved. AREC Port offers the solution to this technical challenge.

The AREC Port integrates the entire process from purchasing ART tokens using various crypto tokens, offsetting the ART tokens to generate climate actions, to finally minting a climate Badge based on the climate actions. This process can be completed by ordinary users with one-click operation or by third-party applications with one-line calling.

The following diagram illustrates how individuals and institutions are linked to the AREC ecosystem through AREC Port with open-access AREC Port UI and AREC Port library modules. It also showcases how AREC Port offers a one-stop carbon offset service with the support of underlying smart contracts, including Arkreen Builder, Arkreen DEX, Arkreen Bank, Arkreen ART, Arkreen Badge, and others.

AREC Port position

AREC Port Interface

The primary purpose of the AREC Port is to offer users a one-click interface to complete personal carbon offsetting. The AREC Dapp integrates the features of the AREC Port, serving as the main entry point for users to access various carbon reduction features within the AREC ecosystem.

Additionally, other third-party Web3 applications can also direct their users to the AREC Port UI, enabling them to easily carry out carbon offset operations. AREC Port provides APIs for these Web3 applications to query the status and results of users' carbon offsetting actions

AREC Port Library

AREC Port Library aims to provide basic carbon offsetting services for Web2 and Web3 applications. By integrating the AREC Port Library, these applications can design their own UI tailored to their specific features and needs while utilizing the AREC Port library to complete carbon offset execution for their users.

AREC Port Library is planned to support multiple development frameworks, including NodeJS, React, Vue, React Native, Android, iOS, and more. NodeJS and React are the initial supported frameworks, and others will be gradually incorporated. We also welcome members of the Arkreen community to participate in the development and maintenance of the AREC Port Library Modules.

Arkreen Builder

Arkreen Builder is the core smart contract designed and developed to support the functionality of AREC Port. Its function is to receive various Crypto tokens paid by users, exchange these tokens for a certain amount of ART tokens through Arkreen DEX or Arkreen Bank smart contract, and then use these ART Tokens for carbon offsetting to generate climate actions. Finally, based on the climate action, it mints a climate badge for the user.

Arkreen Builder accepts multiple types of Crypto tokens, including MATIC, USDC, USDT, and others. Users can choose to exchange for ART tokens through Arkreen DEX or Arkreen Bank and can provide additional information to be included in the climate badge, such as the purpose of the carbon offsetting and the beneficiary of the climate badge, among others.

Arkreen Bank

The primary function of Arkreen Bank is to sell ART tokens at a pre-determined fixed price. Unlike Arkreen DEX, where the price of ART tokens fluctuates during buying and selling transactions due to the constraints of the AMM mechanism, Arkreen Bank maintains a constant price for ART tokens until the provider of ART tokens sets a new selling price.

Arkreen Bank is capable of managing various ART tokens with different attributes. Each ART token corresponds to a specific AREC issuer, and this issuer has the authority to deposit ART tokens into Arkreen Bank and set the selling price for those ART tokens.

Arkreen Builder ABI Interface

Arkreen Builder smart contract provides open interfaces for anyone to engage in climate actions by offsetting ART tokens and/or minting climate badges. If no ART tokens are available, Arkreen Builder can purchase ART from the AREC bank smart contract or a DEX pool using popular tokens. Below is the Arkreen Builder ABI interface:

  • actionBuilderWithART

actionBuilderWithART is called to offset some ART tokens and generate a climate action. With one or more climate actions, the caller can mint a AREC climate badge at anytime later.

actionBuilderWithART
    /** 
* @dev Offset the specified amount of ART tokens to create a climate action.
* @param tokenART Address of the ART token. There may be several different ART tokens in AREC ecosystem.
* @param amountART Amount of the ART token to offset.
* @param deadline Deadline to handle the transaction.
*/
function actionBuilderWithART(
address tokenART,
uint256 amountART,
uint256 deadline
)
  • actionBuilder

actionBuilder is called to buy ART tokens with the given payment token first, and then offset these ART tokens and generate a climate action. With one or more climate actions, the caller can mint a AREC climate badge at anytime later. Before calling this interface, the caller should approve Arkreen Builder to transfer the payment token from the caller's wallet. If more payment amount is given in the parameters, extra amount will be paid back to the caller.

actionBuilder
    /** 
* @dev Buy the ART token with specified token, then offset the bought ART to create a climate action.
* @param tokenPay The address of the token to pay for the ART token.
* @param tokenART The address of the ART token. There may be several different ART tokens in AREC ecosystem.
* @param amountPay The amount of the payment token.
* if modeAction bit0 is true, amountPay should be paid to swap tokenART.
* if modeAction bit0 is false, amountPay means the maximum amount to pay.
* @param amountART The amount of the ART token.
* if modeAction bit0 is true, amountART means the minimum ART token to receive, which may be zero for no checking.
* if modeAction bit0 is false, amountART is the amount of ART token to receive.
* @param modeAction Which amount is the exact amount, and which source to get ART
* bit0 = 1, amountPay is the exact amount of the payment token to pay.
* bit0 = 0, amountART is the exact amount of the ART token to receive.
* bit1 = 0, Swap ART from Dex
* bit1 = 1, Buy ART from AREC bank
*/
function actionBuilder(
address tokenPay,
address tokenART,
uint256 amountPay,
uint256 amountART,
uint256 modeAction,
uint256 deadline
)
  • actionBuilderNative

actionBuilderNative is called to buy ART tokens with native token, which is MATIC on polygon, and CELO on Celo. Then the bought ART tokens are offset and a climate action is generated for the caller.

actionBuilderNative
    /** 
* @dev Buy the ART token with Native token, then offset the bought ART.
* @param tokenART The address of the ART token. There may be several different ART tokens in the AREC ecosystem.
* @param amountART The amount of the ART token.
* if modeAction bit0 is true, amountART means the minimum ART token to receive, which may be zero for no checking.
* if modeAction bit0 is false, amountART is the amount of ART token to receive.
* @param modeAction Which amount is the exact amount, and which source to get ART
* bit0 = 1, amountPay is the exact amount of the payment token to pay.
* bit0 = 0, amountART is the exact amount of the ART token to receive.
* bit1 = 0, Swap ART from Dex
* bit1 = 1, Buy ART from AREC bank
*/
function actionBuilderNative(
address tokenART,
uint256 amountART,
uint256 modeAction,
uint256 deadline
)
  • actionBuilderWithPermit

actionBuilderWithPermit is called to buy ART tokens with the given payment token. The user permit Arkreen Builder to transfer user's payment token via the signature in the calling parameter. If more payment amount is given in the parameters, extra amount will be paid back to the caller.

actionBuilderWithPermit
   /** 
* @dev Buy the ART token with specified token, then offset the bought ART.
* @param tokenART The address of the ART token. There may be several different ART tokens in AREC ecosystem.
* @param amountART The amount of the ART token.
* if modeAction bit0 is true, amountART means the minimum ART token to receive, which may be zero for no checking.
* if modeAction bit0 is false, amountART is the amount of ART token to receive.
* @param modeAction Which amount is the exact amount, and which source to get ART
* bit0 = 1, amountPay is the exact amount of the payment token to pay.
* bit0 = 0, amountART is the exact amount of the ART token to receive.
* bit1 = 0, Swap ART from Dex
* bit1 = 1, Buy ART from AREC bank
* @param permitToPay The permit information to approve the payment token to swap for ART token
*/
function actionBuilderWithPermit(
address tokenART,
uint256 amountART,
uint256 modeAction,
Signature calldata permitToPay
)

  • actionBuilderBadgeWithART

actionBuilderBadgeWithART is called to offset some ART tokens and mint a climate badge at same time.

actionBuilderBadgeWithART
    /** 
* @dev Offset the specified amount of ART tokens to create a climate action.
* @param tokenART Address of the ART token. There may be several different ART tokens in AREC ecosystem.
* @param amountART Amount of the ART token to offset.
* @param deadline Deadline to handle the transaction.
* @param badgeInfo The information to be included for climate badge.
*/
function actionBuilderBadgeWithART(
address tokenART,
uint256 amountART,
uint256 deadline,
BadgeInfo calldata badgeInfo
)
  • actionBuilderBadge

actionBuilderBadge is called to buy ART tokens with the given payment token and mint a climate badge at same time. Before calling this interface, the caller should approve Arkreen Builder to transfer the payment token from the caller's wallet. If more payment amount is given in the parameters, extra amount will be paid back to the caller.

actionBuilderBadge
    /** 
* @dev Buy the ART token, then offset the bought ART and mint a climate badge.
* @param tokenPay The address of the token to pay for the ART token.
* @param tokenART The address of the ART token. There may be several different ART tokens in AREC ecosystem.
* @param amountPay The amount of the payment token.
* if modeAction bit0 is true, amountPay should be same as the value in permitToPay.
* if modeAction bit0 is false, amountPay means the maximum amount available to pay, if it not zero.
* @param amountART The amount of the ART token.
* if modeAction bit0 is true, amountART means the minimum ART token to receive, which may be zero for no checking.
* if modeAction bit0 is false, amountART is the amount of ART token to receive.
* @param modeAction Which amount is the exact amount, and which source to get ART
* bit0 = 1, amountPay is the exact amount of the payment token to pay.
* bit0 = 0, amountART is the exact amount of the ART token to receive.
* bit1 = 0, Swap ART from Dex
* bit1 = 1, Buy ART from AREC bank
* @param badgeInfo The information to be included for climate badge.
*/
function actionBuilderBadge(
address tokenPay,
address tokenART,
uint256 amountPay,
uint256 amountART,
uint256 modeAction,
uint256 deadline,
BadgeInfo calldata badgeInfo
)
  • actionBuilderBadgeNative

actionBuilderBadgeNative is called to buy ART tokens with native token and mint a climate badge at same time.

actionBuilderBadgeNative
    /** 
* @dev Buy the ART token, then offset the bought ART and mint a climate badge.
* @param tokenART The address of the ART token. There may be several different ART tokens in AREC ecosystem.
* @param amountART The amount of the ART token.
* if modeAction bit0 is true, amountART means the minimum ART token to receive, which may be zero for no checking.
* if modeAction bit0 is false, amountART is the amount of ART token to receive.
* @param modeAction Which amount is the exact amount, and which source to get ART
* bit0 = 1, amountPay is the exact amount of the payment token to pay.
* bit0 = 0, amountART is the exact amount of the ART token to receive.
* bit1 = 0, Swap ART from Dex
* bit1 = 1, Buy ART from AREC bank
* @param badgeInfo The information to be included for climate badge.
*/
function actionBuilderBadgeNative(
address tokenART,
uint256 amountART,
uint256 modeAction,
uint256 deadline,
BadgeInfo calldata badgeInfo
)
  • actionBuilderBadgeWithPermit

actionBuilderBadgeWithPermit is called to buy ART tokens with the given payment token and mint a climate badge at same time. The user permit Arkreen Builder to transfer user's payment token via the signature in the calling parameter. If more payment amount is given in the parameters, extra amount will be paid back to the caller.

actionBuilderBadgeWithPermit
   /** 
* @dev Buy the ART token, then offset the bought ART and mint a climate badge.
* @param tokenART The address of the ART token. There may be several different ART tokens in AREC ecosystem.
* @param amountART The amount of the ART token.
* if modeAction bit0 is true, amountART means the minimum ART token to receive, which may be zero for no checking.
* if modeAction bit0 is false, amountART is the amount of ART token to receive.
* @param modeAction Which amount is the exact amount, and which source to get ART
* bit0 = 1, amountPay is the exact amount of the payment token to pay.
* bit0 = 0, amountART is the exact amount of the ART token to receive.
* bit1 = 0, Swap ART from Dex
* bit1 = 1, Buy ART from AREC bank
* @param badgeInfo The information to be included for climate badge.
* @param permitToPay The permit information to approve the payment token to swap for ART token
*/
function actionBuilderBadgeWithPermit(
address tokenART,
uint256 amountART,
uint256 modeAction,
BadgeInfo calldata badgeInfo,
Signature calldata permitToPay
)
- - + + \ No newline at end of file diff --git a/arec/arec-profile/index.html b/arec/arec-profile/index.html index c61302e6..0ddfd8c6 100644 --- a/arec/arec-profile/index.html +++ b/arec/arec-profile/index.html @@ -4,14 +4,14 @@ AREC Asset Profile | Arkreen Documentation - - + +
Skip to main content

AREC Asset Profile

This is the first page while you visit the AREC Dapp. Two level of AREC assets are displayed in two separate sub-pages:

  • Overview: The overall AREC assets of the whole AREC ecosystem are shown here.

  • My Profile: Your personal AREC ecosystem assets are summarized here. You need to connect your wallet first to view this part.

Overview

From the Overview page, AREC details are displayed hereunder:

  • Total AREC Issued: How many total AREC NFTs are issued, and how many MWh of RE are generated in these AREC NFTs.

  • Total AREC Retired: How many climate badge SBTs are minted, and how many MWh of RE are retired in these badges.

  • Redeemed AREC NFTs: How many AREC NFTs are redeemed, and how many MWh of RE are retired in these AREC NFTs.

  • Liquidized AREC NFTs: How many AREC NFTs are liquidized and how many ART tokens are minted.

AREC Overview on PC
AREC Overview on phone

My Profile

To review your assets in the AREC ecosystem you need to connect your wallet first.

  • Visit My Profile Page

    • On PC: Click the Overview item in the left navigation bar, and then click the My Profile button at the top of the page.

    • On smartphone: Select the Overview item under the AREC top menu, and then click the My Profile button at the top of the page.

  • On the page My Profile, there are 4 kinds of asset classifications displayed hereunder:

    • AREC NFTs: This is where all your AREC NFTs are listed, any of which can be selected to view the details of.

    • Actions: This is where all your climate actions are listed, the details of which can be reviewed one by one.

    • Badge SBTs: This is where all your retirement badges are listed. As a SBT, the retirement badge cannot be transferred.

    • Miners: This is where all your miners are listed, each of which is also an NFT of the AREC ecosystem.

My Profile on PC
My Profile on phone

Generate Badge Pdf file

Each retirement Badge NFT meticulously records detailed information about its associated Climate Actions, including AREC redemption and ART offset. With this data, the AREC Dapp can generate a PDF file displaying comprehensive details of the Climate Actions included in the Badge, along with information about the original AREC NFTs related to these Climate Actions. Users can use this PDF file as proof of carbon footprint neutrality.

On the "My File" page, select the desired Badge NFT for which you wish to generate the PDF file. By clicking the "Generate PDF file" button, the AREC Dapp will initiate the PDF file generation process. Once the generation is complete, the PDF file will be automatically downloaded and saved to your local download folder. The entire process typically takes around 3-5 seconds.

Genarate Badge pdf file on PC
Genarate Badge pdf file on phone
- - + + \ No newline at end of file diff --git a/arec/arec-quickstart/index.html b/arec/arec-quickstart/index.html index d022a00f..73bf1924 100644 --- a/arec/arec-quickstart/index.html +++ b/arec/arec-quickstart/index.html @@ -4,8 +4,8 @@ AREC Quick Start | Arkreen Documentation - - + +
@@ -14,7 +14,7 @@ img.png

Step 3: Mint AREC NFTs

Step 4: Liquidizing the AREC NFT into ART Tokens

- - + + \ No newline at end of file diff --git a/arec/art-token/index.html b/arec/art-token/index.html index 2946a380..2a71d95d 100644 --- a/arec/art-token/index.html +++ b/arec/art-token/index.html @@ -4,13 +4,13 @@ ART Token | Arkreen Documentation - - + +
Skip to main content

ART Token

ART tokens are minted while an AREC NFT is liquidized by the user. Liquidization is the process in which the user transfers the owned AREC NFT to the ART smart contract, the AREC NFT is set to Liquidized state, and the exact same amount of ART tokens as the amount of the RE output in the liquidized AREC NFT are minted to the user's account.

All the liquidized AREC NFTs are owned and managed by the ART smart contract in the form of a FIFO ring (First-In-First-Out). While an AREC NFT is liquidized, it is always added to the end of the ring. While solidifying ART to withdraw AREC NFT, the AREC in the head of the ring is the one removed and reverted to Certified state. Similarly while offsetting ART as a climate action to mint retirement badge, always the AREC in the head of the ring is removed and changed to Retired state.

The Liquidized state is an intermediate state, which can be reverted to Certified state while solidifying ART tokens, or changed to Retired state while offsetting ART tokens.

Liquidized AREC NFTs

Solidify ART

Solidifying ART is the process to burn ART tokens and withdraw the AREC NFTs back to the user's wallet. Service fee proportional to the solidified ART tokens will be charged. The process to solidify ART tokens works as following:

  1. Check that the ART amount to solidify is more than the RE amount of the first AREC NFT in the liquidized AREC ring.

  2. Remove the first AREC from the liquidized AREC ring. (If it is not the first step in the loop, skipping is allowed to optimize the solidifying process).

  3. Transfer the AREC to the burner of the ART tokens.

    • The NFT transfer hook in the AREC NFT smart contract is activated to check if the transfer is allowed.

    • AREC NFT smart contract sets the state of the AREC from Liquidized to Certified.

  4. The AREC NFT in Certified is received in the user's wallet, then check if still some ART tokens need to be solidified, if yes, repeat from step 1.

  5. Burn all liquidized ART tokens from user's wallet.

  6. Charge solidifying service fee.

  7. Complete the solidifying transaction.

Process solidifying ART to AREC NFT

Offset ART

Offsetting ART is the process to burn ART tokens as a climate action, and optionally mint an Arkreen climate badge. Different from solidifying ART,offsetting ART is completely free. The process to offset ART tokens works as following:

  1. Check if the last retired AREC remains enough RE yield to cover the offset action, if yes, jump to step 5.

  2. Remove the first AREC from the liquidized AREC ring.

  3. Transfer the AREC to the retirement badge smart contract.

    • The NFT transfer hook in the AREC NFT smart contract is activated to check if the transfer is allowed.

    • AREC NFT smart contract sets the state of the AREC from Liquidized to Retired.

  4. The AREC NFT in Retired is locked in the climate badge smart contract, and its life cycle is ended forever. Then offset detail information is created or updated, and jump to step 1.

  5. Burn all liquidized ART tokens from user's wallet.

  6. Create climate action to the user's wallet.

  7. Complete the offsetting transaction.

Offset ART Process
- - + + \ No newline at end of file diff --git a/arec/climate-actors/index.html b/arec/climate-actors/index.html index c12fcc93..6049a0d7 100644 --- a/arec/climate-actors/index.html +++ b/arec/climate-actors/index.html @@ -4,13 +4,13 @@ AREC Climate Actors | Arkreen Documentation - - + +
Skip to main content

AREC Climate Actors

There are two breeds of distinguished climate actors within the Arkreen ecosystem: renewable energy generators and climate actors.

Renewable energy generators contribute to Arkreen community by generating renewable energy and providing the RE generation proof to Arkreen Network. They are able to benefit from this so-called mining process in two ways: getting AKRE reward from Arkreen Network, and minting AREC NFT based on the RE generation data. AKRE and AREC are both valuable crypto assets.

Hereafter, We will illustrate step by step, as a renewable energy generator, how to issue an AREC NFT, sell the AREC NFT or liquidize the AREC NFT into ART (an ERC20 compliant token), and sell the ART within the Arkreen DEX. RE generators are actually the most important climate actors within Arkreen ecosystem, even though they might not directly redeem some AREC assets.

We will also demonstrate, as a climate actor, how to buy the AREC NFT and/or the ART tokens to offset the carbon footprint and commit climate actions, and how to mint the carbon retirement badge based on those climate actions.

info

Please refer to Arkreen Ecosystem Assets for the meaning of the assets mentioned here.

Renewable Energy Generators

To be a renewable energy generator, you need to purchase one or more Arkreen miners. There are two kinds of Arkreen miners, remote and standard. The miners continue to generate renewable energy (RE) and send the RE generating data (RE proof) to the Arkreen Network. Based on the RE generation proof, some AKRE tokens will be rewarded to the miner's owner as an incentive according to the Proof of Green-energy Generation Algorithm.

Arkreen miners need to go through four steps to participate in the mining process to gain mining rewards.

Mining steps for renewable energy generators
  • Mining with solar panel

    Arkreen miners need to order one or more remote miners or standard miners from Arkreen Website to participate in Arkreen mining. A remote miner is onboarded at the same time when it is ordered, whereas, a standard miner needs to be onboarded by the owner according to the onboarding process. Once the miner is onboarded, a miner NFT is minted to the owner's account, and the miner starts to generate renewable energy and renewable energy proof, continuously.

  • Mint AREC

    Once enough renewable energy is generated, the miner's owner could request to issue an AREC NFT based on the RE generation proof. The AREC NFT is minted on the blockchain, and the owner needs to pay some AKRE tokens (equivalent to 10% of the value of the minted AREC). The RE proof is valid only once while minting AREC, and cannot be used to issue AREC anymore once it is consumed. IPFS storage is used to store the RE data that is consumed to issue AREC.

  • Sell AREC or Liquidize AREC

    AREC is the digital asset with value, though sometimes its price fluctuates up and down in the open market. The owner could hold the AREC to expect a price increase, and could also sell it to some other individuals or institutions that need to offset their carbon footprint.

    An AREC NFT can only be transferred or sold as a whole, its liquidity is not as good as that of ERC20 tokens. An AREC holder can choose to liquidize the AREC NFT to mint ART, an ERC20 token representing the renewable energy. Once an AREC NFT is liquidized to ART, it will be locked, and the ART tokens that are exactly equivalent to the amount of RE conveyed in the AREC NFT, are minted to the NFT owner.

  • Sell ART in DEX

    Same as any ERC20 token, ART can be added to the liquidity pool of Arkreen's DEX to generate profit for the owner as a market maker. Also, ART can be swapped to other tokens whenever necessary.

    Currently, two liquidity pools, ART/MATIC and ART/USDC, are created by the Arkreen Foundation. The ART holders could swap ART for MATIC and USDC directly, or swap ART for any other tokens via the multihop swapping path.

Climate Actors

Climate actors are the individuals and entities that purchase AREC and/or ART, and redeem the AREC or offset the ART to create climate actions. Based on climate actions, the actors are free to mint a retirement badge which is a nontransferable SBT, a special kind of NFT that is bound to the owner's wallet.

Within this Arkreen retirement badge, all climate actions and the respective amount of retired renewable energy are stored, and all the information is accountable and traceable to the original renewable energy generation proof. This Arkreen badge could be provided as a certificate demonstrating carbon footprint offset actions.

To offset the carbon footprint, the climate actors need to undergo 4 step-process detailed in this following diagram.

Climate action steps for climate actors
  • Prepare some tokens

    The two aforementioned liquidity pools, namely ART/MATIC and ART/USDC, are created by the Arkreen Foundation, hence some MATIC or USDC needs to be stored in the actor's wallet to purchase the ART and/or AREC.

  • Buy ART or AREC

    It is easy to buy ART with the selected tokens in the Arkreen DEX. Please refer to Swap in DEX.

    Also, climate actors can purchase the desired AREC within a third party NFT open market, for example, OpenSea. In this case, the platform native token needs to be paid, which may be MATIC or ETH.

  • Commit climate actions

    There are two ways to commit the climate actions: burning ART and redeeming AREC.

    While the ART tokens are burned, a climate action record will be engraved in the Arkreen badge smart contract. Within this action record, pertinent details are stored, such as which entity commits the action, when and how many ART tokens are burned.

    The climate actor can also redeem the AREC NFT by sending it to the Arkreen badge smart contract. In this case, this AREC will be retired forever, and a climate action record is created for the climate actor, which stores similar pertinent information.

  • Mint retirement badge

    At any time, climate actors can freely mint the retirement badge based on the created climate action records. Some information as the retirement entity, retirement beneficiary, and supplementary retirement remarks, can be recorded in the retirement badge. With this badge, any climate actor could demonstrate their accomplishment in protecting our Earth to any third-party climate cooperatives or regulatory agencies.

- - + + \ No newline at end of file diff --git a/arec/climate-badge/index.html b/arec/climate-badge/index.html index 2d73c9bb..7c3607e5 100644 --- a/arec/climate-badge/index.html +++ b/arec/climate-badge/index.html @@ -4,13 +4,13 @@ Climate Badge | Arkreen Documentation - - + +
Skip to main content

Climate Badge

The Climate badge is minted based on one or more climate actions created during the process of redeeming AREC NFTs or offsetting ART tokens. Each climate badge contains comprehensive retirement information. With this data, it becomes possible to trace back and identify all the original AREC NFTs that were retired to create the badge. This detailed record-keeping feature ensures transparency and accountability for the climate actions associated with the badge.

  1. Each climate badge is uniquely identified by the Badge NFT ID.

  2. Badge retirement data are stored in the structure OffsetRecord, which includes offsetTotalAmount, the total RE amount retired in this badge, and offsetIds, which stores all the IDs of the climate actions included in this badge.

  3. Each climate action is uniquely identified by an climate action ID.

  4. For each climate action, the Redeem/Offset action details are stored in the structure OffsetAction, which records the timestamp taking the climate action, the RE amount retired in this action.

  5. Within OffsetAction, the correlated AREC NFT ID or Offset Detail ID is stored, which is indicated by tokenId.

  6. Two bits in tokenId are used to differentiate the ID of the AREC NFT redeemed, or partially offset. All the other lower bits are used to indicate the AREC NFT ID or Offset Detail ID.

    • 00b, tokenId is the redeemed AREC NFT ID.

    • 10b, tokenId is the partially offset AREC NFT ID. A retired AREC NFT may be jointly offset by multiple climate actions taken by several climate actors.

    • 11b, tokenId is the actually the Offset Detail ID. In this case, multiple AREC NFTs are retired in one climate action.

  7. Offset Detail ID uniquely identifies a list of AREC NFT being offset in one climate action.

  8. Each AREC NFT retired in one climate action is recorded in the structure OffsetDetail.

  9. OffsetDetail records the AREC NFT ID and the retired RE amount in this climate action.

With the design described above, it is able to handle following 3 use cases:

  • An AREC NFT is retired as a whole while it is redeemed in a climate action.

  • A retired AREC NFT can be jointly offset by multiple climate actions burning ART tokens.

  • A climate action offsetting a large amount of ART tokens can retire multiple AREC NFTs in one action.

With this design, detailed information about the Climate Actions and original AREC NFTs associated with the Climate Badge NFT is recorded. Using this data, AREC Dapp is able to to generate a PDF file containing all this information. For instructions on how to generate and download this PDF file, please refer to the Generate Badge PDF file section.

Climate Badge Information
- - + + \ No newline at end of file diff --git a/arec/issue-arec/index.html b/arec/issue-arec/index.html index 4e5a858c..e1e3b943 100644 --- a/arec/issue-arec/index.html +++ b/arec/issue-arec/index.html @@ -4,14 +4,14 @@ How to issue an AREC | Arkreen Documentation - - + +
Skip to main content

How to issue an AREC

To issue an AREC, you need to be running one or more miners, and have already generated some renewable energy.

Please refer to Order Miners to order miners if you have not yet already done so.

If you have already generated some renewable energy, well done! Go visiting Arkreen AREC Dapp to start issuing your own AREC NFT.

Please follow the steps to issue your AREC:

  • Step 1. Visit the AREC Dapp, and connect your wallet

  • Step 2. Visit the AREC Issuance page

    • On PC: Click the Issuance item in the left navigation bar.

    • On smartphone: Select the Issuance item under the AREC top menu.

    On the AREC Issuance page, your current status of generating renewable energy will be shown.

AREC Issuance on PC
AREC Issuance on phone
  • Step 3. Select the End AREC Date

    On the AREC Issuance page, select the End AREC Date you want to issue your AREC. Once the End AREC Date is selected, the information of the AREC to be issued will be displayed.

    • Start AREC Date: This is the earliest date you participated in the Arkreen mining, ie, generating solar energy and getting rewards from the Arkreen Network. If you have ever issued an AREC before, this is the date just after the End AREC Date in that AREC.

    • End AREC Date: This is the last date your RE generation data can be used to issue an AREC. Normally this should occur 2 or 3 days before the current date(subject to your time zone). Please select a date before this end date to issue your AREC.

    • Earliest AREC Date: This is the earliest date your renewable energy output is available to mint the AREC NFT. It is usually the same as Start AREC Date.

    • Latest AREC Date: This is the last date your renewable energy output can be minted as an AREC NFT, i.e. the End AREC Date that is selected to issue your AREC.

    • Total Miners: This represents the number of the miners you are holding.

    • Total Available RE Amount: Total renewable energy amount available for minting an AREC NFT, based on the End AREC Date you selected.

    • Price To Issue AREC: AKRE tokens are needed to issue AREC. This price is used to calculate how much total AKRE needs to be paid. This price is subject to change related to Arkreen governance rules.

    • Minimum RE Allowed To Mint: If renewable energy is less than this stated amount, then Miners are not allowed to mint AREC NFT.

    • AREC Issuer: This is the name of the AREC issuer. Currently only Arkreen Foundation generated ARECs are supported, however, other third-party issuers may be added later.

    • AREC Region: The region where the RE are generated. If you have multiple miners with different regions, these regions will be concatenated together in the issued AREC.

    • Total AREC Amount: Total amount of renewable energy you just selected to issue the AREC.

    • Total Issuance Cost: The cost you need to pay for issuing the AREC, which maybe in AKRE or USDC.

  • Step 4. Approve to pay the AREC issuance fee

    Check all the AREC issuance information. If you are satisfied with the new AREC to issue, please click Approve AKRE to approve the AREC issuance fee paid from your wallet.

    This launches Metamask to verify and sign the approval information. Please check the information carefully for errors, and if no error is found, click the Sign button to confirm your approval.

    This step does not send a transaction to the blockchain. It is just a "Permit" meta-transaction to approve paying the issuance fee.

AREC issuance on PC
AREC issuance on phone
  • Step 5. Request to issue the AREC

    Once you have approved payment of the AREC issuance fee, the AREC Dapp will send your approval message to the Arkreen Network to request issuing your AREC. Arkreen Network will check your payment approval, and many other related information. While the checking is finished and passed, your AREC RE generation data will be packed and stored into IPFS storage, and the CID corresponding to your AREC will be generated. The CID is returned to the AREC Dapp and shown within the Dapp.

    info

    CID is the identifier of the content in IPFS, which can be used to address the distributed files.
    The process of creating the CID could take up to 15-20 seconds, your patience in this duration is greatly appreciated. Once the CID becomes available, review the AREC RE data by clicking on the link beside the CID.

    Once the CID is ready, the button Mint AREC will become activated, allowing you to click the Mint AREC to request your AREC NFT.

AREC issuance on PC
AREC issuance on phone
  • Step 6. Waiting the AREC issuance be confirmed

    While you click Mint AREC, MetaMask will launch and request to sign the AREC issuance transaction. Check all the transaction information in detail, if everything is correct, click the button Confirm to sign the transaction.

    Wait a few seconds for the transaction to be recorded on the blockchain after signing it.

    Once your AREC request transaction has been on-chain, your AREC NFT will be minted, but it is still in the Pending state. Arkreen Network will verify the on-chain information associated with this AREC as well as the RE generation data referred to by the AREC CID. After the verification process has cleared, Arkreen, as the AREC issuer, will confirm the AREC's issuance by submitting a Confirm transaction on-chain. At this point, the AREC has been successfully issued.

    info

    The verification process could just take several minutes, but could also extend to a few days to allow the Arkreen Network to check the AREC issuance information before the AREC is finally confirmed. Thanks for your patience during this process.

    note

    Arkreen Network could Reject the AREC issuance in case something is wrong during the issuance checking.

AREC Issuance on PC
AREC Issuance on phone
- - + + \ No newline at end of file diff --git a/arec/liquidize-arec/index.html b/arec/liquidize-arec/index.html index 15ac57f7..e01ec343 100644 --- a/arec/liquidize-arec/index.html +++ b/arec/liquidize-arec/index.html @@ -4,8 +4,8 @@ How to Liquidize an AREC NFT | Arkreen Documentation - - + +
@@ -13,7 +13,7 @@ the Liquidize button at the top of the page.

  • On smartphone: Select the Retirement item under the AREC top menu, and then click the Liquidize button at the top of the page.

  • On the top of AREC Liquidize page, there are 2 or 3 data items being displayed:

    AREC Liquidize on PC
    AREC Liquidize on phone
    - - + + \ No newline at end of file diff --git a/arec/offset-art/index.html b/arec/offset-art/index.html index 97c5e718..8a9758b3 100644 --- a/arec/offset-art/index.html +++ b/arec/offset-art/index.html @@ -4,14 +4,14 @@ How to Offset ART | Arkreen Documentation - - + +
    Skip to main content

    How to Offset ART

    Offsetting ART means burning your ART tokens to create a climate action. Climate action is a record in the blockchain, which stores all the carbon offset relative information, such as owner of the action, RE amount in the action, AREC NFT ID linked to this action, etc.

    Based on climate actions, the climate actor can freely mint the retirement badge whenever desired and convenient to do so. Please refer to How to mint a climate badge for how to mint the badge based on some climate actions.

    You could also mint the retirement badge at the same time you offset the ART tokens.

    Offset ART

    Please follow the steps below to Offset your ART tokens:

    • Step 1. Visit the AREC Dapp, and connect your wallet

    • Step 2. Visit ART Offset page

      • On PC: Click the Offset item in the left navigation bar.

      • On smartphone: Select Offset item under the AREC top menu

      On the top of ART Offset page, 3 data items are displayed:

      • ART Token Amount: Total ART amount you are holding in your account.

      • Number of Climate Actions: Total number of climate actions you have created by redeeming AREC or offsetting ART tokens.

      • RE Amount of Climate Actions: Total RE amount within the climate actions you have created.

    ART Offset on PC
    ART Offset on phone
    • Step 3. Input the ART amount

      Input the ART amount you want to offset in the input area ART Amount to Offset: .

      info

      Click the button Max to offset all your ART tokens.
      You cannot input a higher number than the amount of ART you actually have.

    • Step 4. Offset ART

      Click the button Offset ART to activate the MetaMask wallet to sign the offset transaction.

      Check and Confirm the offset transaction on MetaMask.

      While your transaction goes on chain, the specified amount of ART tokens are burned, and a climate action logging the burned ART is created to your account.

    Offset ART and Mint Badge

    • Step 1-3: These steps are the same as steps 1-3 from the previous part Offset ART

    • Step 4. Offset ART and Mint Badge

      Click the button Offset and Mint Badge, you will be asked to provide some information to mint the retirement badge. Four optional information items may be specified:

      • Badge Owner's Name: As the owner of the retirement badge, you could specify a personalized name.

      • Beneficiary Account Address: The retirement beneficiary can be specified if it is not the climate actor oneself. This is the crypto account address of this beneficiary.

      • Beneficiary Name: This is the name of the retirement beneficiary if not the climate actor oneself.

      • Retirement Memo: Retirement intention details can be described herein.

        All these 4 items are optional, if once specified, they will be stored within the retirement badge.

      The final step is to click the button Offset and Mint Badge to offset your ART and mint a retirement badge.

      MetaMask will be launched and ask you to verify and sign the offset transaction. Check the transaction carefully, and click the Confirm button.

      While your transaction goes on chain, the specified ART tokens are burned forever, and a retirement badge is minted to your account.

    ART Offset on PC
    ART Offset on phone
    - - + + \ No newline at end of file diff --git a/arec/redeem-arec/index.html b/arec/redeem-arec/index.html index 499bbe39..ea3cdedc 100644 --- a/arec/redeem-arec/index.html +++ b/arec/redeem-arec/index.html @@ -4,8 +4,8 @@ How to redeem the AREC | Arkreen Documentation - - + +
    @@ -13,7 +13,7 @@ the Redeem button at the top of the page.

  • On smartphone: Select Retirement item under the AREC top menu, and then click the Redeem button at the top of the page.

  • On the top of AREC Redeem page, 2 or 3 data items are displayed:

    AREC Redeem on PC
    AREC Redeem on phone

    Redeem AREC and Mint Badge

    AREC Redeem on PC
    AREC Redeem on phone
    - - + + \ No newline at end of file diff --git a/assets/images/pgp1-d0a8eb2d3df8e6a873a897e65378a980.jpg b/assets/images/pgp1-d0a8eb2d3df8e6a873a897e65378a980.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2dd172b426f4dbc7d45278176f4b711b3f391ac4 GIT binary patch literal 107231 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 VS{|mIC4ws%#cX<3qk2e!|Jj7vX5Ih* literal 0 HcmV?d00001 diff --git a/assets/js/0fa9f071.b488217e.js b/assets/js/0fa9f071.b488217e.js new file mode 100644 index 00000000..9611b373 --- /dev/null +++ b/assets/js/0fa9f071.b488217e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkarkreen_docs=self.webpackChunkarkreen_docs||[]).push([[8445],{5680:(e,r,t)=>{t.d(r,{xA:()=>g,yg:()=>h});var n=t(6540);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=n.createContext({}),u=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},g=function(e){var r=u(e.components);return n.createElement(l.Provider,{value:r},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,g=s(e,["components","mdxType","originalType","parentName"]),p=u(t),m=o,h=p["".concat(l,".").concat(m)]||p[m]||c[m]||a;return t?n.createElement(h,i(i({ref:r},g),{},{components:t})):n.createElement(h,i({ref:r},g))}));function h(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=m;var s={};for(var l in r)hasOwnProperty.call(r,l)&&(s[l]=r[l]);s.originalType=e,s[p]="string"==typeof e?e:o,i[1]=s;for(var u=2;u{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>i,default:()=>c,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var n=t(8168),o=(t(6540),t(5680));const a={},i="Plug for Green Program",s={unversionedId:"programs/plug-for-green-program",id:"programs/plug-for-green-program",title:"Plug for Green Program",description:"What is Plug for Green Program",source:"@site/docs/programs/plug-for-green-program.md",sourceDirName:"programs",slug:"/programs/plug-for-green-program",permalink:"/programs/plug-for-green-program",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"ArkreenSidebar",previous:{title:"A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards",permalink:"/programs/referral-program"},next:{title:"Governance Overview",permalink:"/governance/governance-overview"}},l={},u=[{value:"What is Plug for Green Program",id:"what-is-plug-for-green-program",level:2},{value:"How Arkreen Smart Plug Greens Energy",id:"how-arkreen-smart-plug-greens-energy",level:2},{value:"Order Arkreen Smart Plug",id:"order-arkreen-smart-plug",level:2}],g={toc:u},p="wrapper";function c(e){let{components:r,...a}=e;return(0,o.yg)(p,(0,n.A)({},g,a,{components:r,mdxType:"MDXLayout"}),(0,o.yg)("h1",{id:"plug-for-green-program"},"Plug for Green Program"),(0,o.yg)("div",{className:"img-center"}," ",(0,o.yg)("figure",null," ",(0,o.yg)("img",{src:t(5118).A,alt:""}))," "),(0,o.yg)("h2",{id:"what-is-plug-for-green-program"},"What is Plug for Green Program"),(0,o.yg)("p",null,"Arkreen leverages the community-driven DePIN model and token incentives to initiate the supply and demand sides of its network. On the supply side, the mechanisms are \u201cImpact to Earn,\u201d and an example is the use of household-distributed solar power systems to issue green assets. On the demand side, the mechanisms are \u201cPlay to Impact\u201d. Initially, Arkreen developed the ",(0,o.yg)("a",{parentName:"p",href:"https://www.greenbtc.club/"},"GreenBTC.Club")," to drive the demand for green assets. Now, Arkreen's \u201cPlug for Green Program (PGP)\u201d is upgraded to encourage individuals in the global Web3 community to achieve personal carbon neutrality."),(0,o.yg)("p",null,(0,o.yg)("a",{parentName:"p",href:"https://docs.arkreen.com/overview/miner/consumption/plug-miner"},"Smart Plug,")," as a miner type of the Energy Consumption Category, was introduced to the Arkreen community in September 2023. To encourage the carbon deduction of ",(0,o.yg)("a",{parentName:"p",href:"https://ghgprotocol.org/corporate-standard"},"GHG Protocol Scope 2"),", the initial trial program incentivized people to gradually decrease their electricity consumption. The program was effective, but the electricity consumption level would finally come to a low limit. To go beyond the limit, the program is now upgraded to incentivize the global Web3 community for sustainable green behaviors."),(0,o.yg)("p",null,"In a word, the purpose of the new Plug for Green Program is to encourage individuals to ",(0,o.yg)("a",{parentName:"p",href:"/quick-start/smart-plug-quick-start"},"offset their daily electricity usage (tracked by the Smart Plug)")," with Arkreen\u2019s on-chain green assets. Unlike an ESG-responsible company usually greens its energy consumption in bulk, an individual\u2019s daily consumption is too small to offset in the traditional way. Instead, thanks to the low asset transfer cost on a public blockchain, the Plug for Green Program allows individuals to offset their daily consumption at a considerably low cost. In addition, individuals can use the Arkreen green assets (e.g., ",(0,o.yg)("a",{parentName:"p",href:"https://docs.arkreen.com/arec/art-token"},"ART"),") issued from the distributed solar PV system to offset their home consumption or green a tiny slice of Bitcoin\u2019s historical energy consumption. For instance, you can purchase Arkreen Remote Miners from ",(0,o.yg)("a",{parentName:"p",href:"https://explorer.arkreen.com/csp-gallery"},"CSP")," community users in Nigeria, mint ART, and use the Smart Plug to track and offset your daily home energy consumption with ART. This creates a complete loop for achieving personal carbon neutrality."),(0,o.yg)("p",null,"By contributing to the voluntary energy offsetting mechanism, Arkreen is advocating the Green DePIN initiative so that every DePIN project and every DePIN participant can adopt a carbon neutralization infrastructure. Imaging the broad future of DePIN, Arkreen will help keep the DePIN communities growing with a positive impact on the environment. As the system evolves, more users in developed countries can directly support carbon offsetting by purchasing green assets that are issued from the green behavior by the people in developing countries, thus achieving voluntary on-chain offsets for carbon neutrality. The greener DePIN, the better our world. Join the global community in taking real action for a sustainable future!"),(0,o.yg)("h2",{id:"how-arkreen-smart-plug-greens-energy"},"How Arkreen Smart Plug Greens Energy"),(0,o.yg)("p",null,"There are usually three ways to reduce carbon emissions from electricity generation. The first is removing unnecessary electricity consumption (e.g., turning off the light when no one is in the room). The second is improving electricity utilization efficiency (e.g., replacing filament lamps with LED ones). The third is partially or fully replacing grid power usage with green energy, or offsetting grid power consumption with green assets."),(0,o.yg)("p",null,"The former two ways are intuitive, but electricity consumption cannot plunge too low to maintain an appropriate quality of life and business. Furthermore, as new technologies such as AI bring more exciting experiences and improve our daily lives, electricity consumption will inevitably increase. Like GreenBTC.Club does good to the Bitcoin community, and the upgraded Plug for Green Program focuses on the implementation of carbon neutralization for various DePIN projects in a third way."),(0,o.yg)("p",null,"For example, a DePIN project aggregates idle GPU resources from all over the world for AI training and inference. The GPU resource owner contributes computing power by consuming quite a lot of electricity and emitting carbon dioxide in Scope 2 of the GHG Protocol. How to mitigate the carbon emissions by GPU mining? Thanks to Web3\u2019s flexible composibility, Arkreen Smart Plug can be used to measure how much electricity the GPU machines consume and allows the users to offset it with Arkreen\u2019s green assets and receive rewards in addition to those from GPU mining. It\u2019s often said to be a composible dual-mining mechanism, which attracts every environmental participant."),(0,o.yg)("p",null,"To implement the above vision, the Plug for Green Program(PGP) reward mechanism is composed of two parts:"),(0,o.yg)("ul",null,(0,o.yg)("li",{parentName:"ul"},"10% baseline rewards for continuously measuring and reporting electricity consumption to Arkreen Network"),(0,o.yg)("li",{parentName:"ul"},"90% offset rewards for offsetting the measured electricity consumption")),(0,o.yg)("p",null,"Both baseline rewards and offset rewards are dispatched once per day. The details will be released in Arkreen docs later."),(0,o.yg)("p",null,"The baseline rewards are based on the same mechanism as in the initial trial program in 2023. To receive baseline rewards, the user should keep using the smart plug to measure the electricity consumption of a certain appliance."),(0,o.yg)("p",null,"All smart plug users share the offset rewards in proportion to their daily offsetting points. When the user offsets his energy consumption, a random number of offsetting points will be distributed to him. Basically, the more energy the user offsets, the more chances he has of receiving higher points. This mechanism is similar to ",(0,o.yg)("a",{parentName:"p",href:"https://www.greenbtc.club/"},"GreenBTC.Club"),"."),(0,o.yg)("h2",{id:"order-arkreen-smart-plug"},"Order Arkreen Smart Plug"),(0,o.yg)("p",null,"If you are interested in participating in the trial of Plug for Green Program. Please submit below form to apply for the whitelist:"),(0,o.yg)("table",null,(0,o.yg)("thead",{parentName:"table"},(0,o.yg)("tr",{parentName:"thead"},(0,o.yg)("th",{parentName:"tr",align:"left"},(0,o.yg)("a",{parentName:"th",href:"https://forms.gle/y7BZwN7qWVFARZUc6"},(0,o.yg)("strong",{parentName:"a"},(0,o.yg)("font",{color:"blue"},"APPLY FOR WHITELIST"))))))),(0,o.yg)("p",null,"Order the Smart Plug here if you are qualified for the trial whitelist:"),(0,o.yg)("table",null,(0,o.yg)("thead",{parentName:"table"},(0,o.yg)("tr",{parentName:"thead"},(0,o.yg)("th",{parentName:"tr",align:"left"},(0,o.yg)("a",{parentName:"th",href:"https://console.arkreen.com/#/shop?type=smart-plug"},(0,o.yg)("strong",{parentName:"a"},(0,o.yg)("font",{color:"blue"},"ORDER SMART PLUG"))))))),(0,o.yg)("p",null,"If you have any inquiries, don\u2019t hesitate to reach out to our team members in either our ",(0,o.yg)("a",{parentName:"p",href:"https://t.me/Arkreen_Network"},"Telegram")," or ",(0,o.yg)("a",{parentName:"p",href:"https://discord.gg/5cXtB9UB9f"},"Discord")," community."),(0,o.yg)("p",null,(0,o.yg)("strong",{parentName:"p"},"Read More")),(0,o.yg)("p",null,(0,o.yg)("a",{parentName:"p",href:"/overview/miner/consumption/plug-miner"},"Consumption Plug Miner")),(0,o.yg)("p",null,(0,o.yg)("a",{parentName:"p",href:"/quick-start/smart-plug-quick-start"},"Smart Plug Quick Start")),(0,o.yg)("p",null,(0,o.yg)("a",{parentName:"p",href:"/how-to-use/smart-plug-user-guide"},"User Guide for Arkreen Smart Plug")))}c.isMDXComponent=!0},5118:(e,r,t)=>{t.d(r,{A:()=>n});const n=t.p+"assets/images/pgp1-d0a8eb2d3df8e6a873a897e65378a980.jpg"}}]); \ No newline at end of file diff --git a/assets/js/425367e4.747c374c.js b/assets/js/425367e4.747c374c.js deleted file mode 100644 index 0c4512f6..00000000 --- a/assets/js/425367e4.747c374c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkarkreen_docs=self.webpackChunkarkreen_docs||[]).push([[8539],{5680:(e,r,t)=>{t.d(r,{xA:()=>g,yg:()=>f});var n=t(6540);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=n.createContext({}),c=function(e){var r=n.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},g=function(e){var r=c(e.components);return n.createElement(s.Provider,{value:r},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},p=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,g=l(e,["components","mdxType","originalType","parentName"]),m=c(t),p=a,f=m["".concat(s,".").concat(p)]||m[p]||u[p]||o;return t?n.createElement(f,i(i({ref:r},g),{},{components:t})):n.createElement(f,i({ref:r},g))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=p;var l={};for(var s in r)hasOwnProperty.call(r,s)&&(l[s]=r[s]);l.originalType=e,l[m]="string"==typeof e?e:a,i[1]=l;for(var c=2;c{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=t(8168),a=(t(6540),t(5680));const o={},i="A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards",l={unversionedId:"programs/referral-program",id:"programs/referral-program",title:"A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards",description:"Background",source:"@site/docs/programs/referral-program.md",sourceDirName:"programs",slug:"/programs/referral-program",permalink:"/programs/referral-program",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"ArkreenSidebar",previous:{title:"Community Solar Program",permalink:"/programs/community-solar-program"},next:{title:"Governance Overview",permalink:"/governance/governance-overview"}},s={},c=[{value:"Background",id:"background",level:2},{value:"Event Duration",id:"event-duration",level:2},{value:"Steps",id:"steps",level:2}],g={toc:c},m="wrapper";function u(e){let{components:r,...o}=e;return(0,a.yg)(m,(0,n.A)({},g,o,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("h1",{id:"a-user-guide-to--arkreen-referral-program-crafting-your-arkreen-referral-link-for-rewards"},"A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards"),(0,a.yg)("h2",{id:"background"},"Background"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},"Actively invite both new and existing friends to join the Arkreen community."),(0,a.yg)("li",{parentName:"ul"},"For any friend who purchases a ",(0,a.yg)("a",{parentName:"li",href:"/overview/miner/generation/remote-miner"},"Remote Miner")," through the referral link, the sharer receives a ",(0,a.yg)("a",{parentName:"li",href:"/overview/miner/generation/lite-remote-miner"},"Lite Remote Miner")," as a gift."),(0,a.yg)("li",{parentName:"ul"},"The more your friends purchase (through the referral link), the more gifts you receive - there's no limit!"),(0,a.yg)("li",{parentName:"ul"},"Plus, if you want to explore more collaborations, please contact us."),(0,a.yg)("li",{parentName:"ul"},"Take immediate action and Unite Your Arkreen Brotherhood!")),(0,a.yg)("h2",{id:"event-duration"},"Event Duration"),(0,a.yg)("p",null,"From May 15th, UTC 6:00 to July 31st, UTC 23:59."),(0,a.yg)("h2",{id:"steps"},"Steps"),(0,a.yg)("ol",null,(0,a.yg)("li",{parentName:"ol"},"Visit ",(0,a.yg)("a",{parentName:"li",href:"https://console.arkreen.com/"},"https://console.arkreen.com/")," to automatically generate your referral link.")),(0,a.yg)("div",{className:"img-center"}," ",(0,a.yg)("figure",null," ",(0,a.yg)("img",{src:t(6290).A,alt:""}))," "),(0,a.yg)("ol",{start:2},(0,a.yg)("li",{parentName:"ol"},"Share your referral link with your Arkreen Brotherhood. Log in to ",(0,a.yg)("a",{parentName:"li",href:"https://console.arkreen.com/"},"https://console.arkreen.com/")," to see who has purchased a remote miner through your link. You'll find detailed information about their purchases and rewards.")),(0,a.yg)("div",{className:"img-center"}," ",(0,a.yg)("figure",null," ",(0,a.yg)("img",{src:t(905).A,alt:""}))," "),(0,a.yg)("ol",{start:3},(0,a.yg)("li",{parentName:"ol"},"Log in to ",(0,a.yg)("a",{parentName:"li",href:"https://console.arkreen.com/"},"https://console.arkreen.com/")," and Claim your rewards.")),(0,a.yg)("div",{className:"img-center"}," ",(0,a.yg)("figure",null," ",(0,a.yg)("img",{src:t(2784).A,alt:""}))," "),(0,a.yg)("ol",{start:4},(0,a.yg)("li",{parentName:"ol"},"Once claimed, ",(0,a.yg)("strong",{parentName:"li"},(0,a.yg)("u",null,"manually"))," withdraw your Lite Remote Miner reward from ",(0,a.yg)("a",{parentName:"li",href:"https://console.arkreen.com/#/gift"},"https://console.arkreen.com/#/gift"),".")),(0,a.yg)("div",{className:"img-center"}," ",(0,a.yg)("figure",null," ",(0,a.yg)("img",{src:t(4111).A,alt:""}))," "))}u.isMDXComponent=!0},6290:(e,r,t)=>{t.d(r,{A:()=>n});const n=t.p+"assets/images/referral1-c9066e5f0030620c093651ce12daf752.png"},905:(e,r,t)=>{t.d(r,{A:()=>n});const n=t.p+"assets/images/referral2-fdf584b3e04babe9ec16aa76db8ca172.png"},2784:(e,r,t)=>{t.d(r,{A:()=>n});const n=t.p+"assets/images/referral3-58044de396c5002b2abb9f06f9ebefd0.png"},4111:(e,r,t)=>{t.d(r,{A:()=>n});const n=t.p+"assets/images/referral4-719544eafba531ff3d1b2342d80a8296.png"}}]); \ No newline at end of file diff --git a/assets/js/425367e4.9ded98c3.js b/assets/js/425367e4.9ded98c3.js new file mode 100644 index 00000000..40a9b985 --- /dev/null +++ b/assets/js/425367e4.9ded98c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkarkreen_docs=self.webpackChunkarkreen_docs||[]).push([[8539],{5680:(e,r,t)=>{t.d(r,{xA:()=>g,yg:()=>f});var a=t(6540);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var r=1;r=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=a.createContext({}),c=function(e){var r=a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},g=function(e){var r=c(e.components);return a.createElement(s.Provider,{value:r},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},p=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,g=l(e,["components","mdxType","originalType","parentName"]),m=c(t),p=n,f=m["".concat(s,".").concat(p)]||m[p]||u[p]||o;return t?a.createElement(f,i(i({ref:r},g),{},{components:t})):a.createElement(f,i({ref:r},g))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,i=new Array(o);i[0]=p;var l={};for(var s in r)hasOwnProperty.call(r,s)&&(l[s]=r[s]);l.originalType=e,l[m]="string"==typeof e?e:n,i[1]=l;for(var c=2;c{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=t(8168),n=(t(6540),t(5680));const o={},i="A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards",l={unversionedId:"programs/referral-program",id:"programs/referral-program",title:"A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards",description:"Background",source:"@site/docs/programs/referral-program.md",sourceDirName:"programs",slug:"/programs/referral-program",permalink:"/programs/referral-program",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"ArkreenSidebar",previous:{title:"Community Solar Program",permalink:"/programs/community-solar-program"},next:{title:"Plug for Green Program",permalink:"/programs/plug-for-green-program"}},s={},c=[{value:"Background",id:"background",level:2},{value:"Event Duration",id:"event-duration",level:2},{value:"Steps",id:"steps",level:2}],g={toc:c},m="wrapper";function u(e){let{components:r,...o}=e;return(0,n.yg)(m,(0,a.A)({},g,o,{components:r,mdxType:"MDXLayout"}),(0,n.yg)("h1",{id:"a-user-guide-to--arkreen-referral-program-crafting-your-arkreen-referral-link-for-rewards"},"A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards"),(0,n.yg)("h2",{id:"background"},"Background"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},"Actively invite both new and existing friends to join the Arkreen community."),(0,n.yg)("li",{parentName:"ul"},"For any friend who purchases a ",(0,n.yg)("a",{parentName:"li",href:"/overview/miner/generation/remote-miner"},"Remote Miner")," through the referral link, the sharer receives a ",(0,n.yg)("a",{parentName:"li",href:"/overview/miner/generation/lite-remote-miner"},"Lite Remote Miner")," as a gift."),(0,n.yg)("li",{parentName:"ul"},"The more your friends purchase (through the referral link), the more gifts you receive - there's no limit!"),(0,n.yg)("li",{parentName:"ul"},"Plus, if you want to explore more collaborations, please contact us."),(0,n.yg)("li",{parentName:"ul"},"Take immediate action and Unite Your Arkreen Brotherhood!")),(0,n.yg)("h2",{id:"event-duration"},"Event Duration"),(0,n.yg)("p",null,"From May 15th, UTC 6:00 to July 31st, UTC 23:59."),(0,n.yg)("h2",{id:"steps"},"Steps"),(0,n.yg)("ol",null,(0,n.yg)("li",{parentName:"ol"},"Visit ",(0,n.yg)("a",{parentName:"li",href:"https://console.arkreen.com/"},"https://console.arkreen.com/")," to automatically generate your referral link.")),(0,n.yg)("div",{className:"img-center"}," ",(0,n.yg)("figure",null," ",(0,n.yg)("img",{src:t(6290).A,alt:""}))," "),(0,n.yg)("ol",{start:2},(0,n.yg)("li",{parentName:"ol"},"Share your referral link with your Arkreen Brotherhood. Log in to ",(0,n.yg)("a",{parentName:"li",href:"https://console.arkreen.com/"},"https://console.arkreen.com/")," to see who has purchased a remote miner through your link. You'll find detailed information about their purchases and rewards.")),(0,n.yg)("div",{className:"img-center"}," ",(0,n.yg)("figure",null," ",(0,n.yg)("img",{src:t(905).A,alt:""}))," "),(0,n.yg)("ol",{start:3},(0,n.yg)("li",{parentName:"ol"},"Log in to ",(0,n.yg)("a",{parentName:"li",href:"https://console.arkreen.com/"},"https://console.arkreen.com/")," and Claim your rewards.")),(0,n.yg)("div",{className:"img-center"}," ",(0,n.yg)("figure",null," ",(0,n.yg)("img",{src:t(2784).A,alt:""}))," "),(0,n.yg)("ol",{start:4},(0,n.yg)("li",{parentName:"ol"},"Once claimed, ",(0,n.yg)("strong",{parentName:"li"},(0,n.yg)("u",null,"manually"))," withdraw your Lite Remote Miner reward from ",(0,n.yg)("a",{parentName:"li",href:"https://console.arkreen.com/#/gift"},"https://console.arkreen.com/#/gift"),".")),(0,n.yg)("div",{className:"img-center"}," ",(0,n.yg)("figure",null," ",(0,n.yg)("img",{src:t(4111).A,alt:""}))," "))}u.isMDXComponent=!0},6290:(e,r,t)=>{t.d(r,{A:()=>a});const a=t.p+"assets/images/referral1-c9066e5f0030620c093651ce12daf752.png"},905:(e,r,t)=>{t.d(r,{A:()=>a});const a=t.p+"assets/images/referral2-fdf584b3e04babe9ec16aa76db8ca172.png"},2784:(e,r,t)=>{t.d(r,{A:()=>a});const a=t.p+"assets/images/referral3-58044de396c5002b2abb9f06f9ebefd0.png"},4111:(e,r,t)=>{t.d(r,{A:()=>a});const a=t.p+"assets/images/referral4-719544eafba531ff3d1b2342d80a8296.png"}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.1a28a1f9.js b/assets/js/935f2afb.1a28a1f9.js new file mode 100644 index 00000000..f4baa742 --- /dev/null +++ b/assets/js/935f2afb.1a28a1f9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkarkreen_docs=self.webpackChunkarkreen_docs||[]).push([[8581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"ArkreenSidebar":[{"type":"category","label":"Quick Start","collapsed":false,"items":[{"type":"category","label":"Arkreen Newcomer Guide","collapsed":true,"items":[{"type":"link","label":"100 Lite Remote Miners Free Gift","href":"/quick-start/arkreen-newcomer-guide/lite-miners-gift","docId":"quick-start/arkreen-newcomer-guide/lite-miners-gift"},{"type":"link","label":"Claim Referral Gift","href":"/quick-start/arkreen-newcomer-guide/claim-referral-gift","docId":"quick-start/arkreen-newcomer-guide/claim-referral-gift"}],"collapsible":true,"href":"/quick-start/arkreen-newcomer-guide/"},{"type":"link","label":"Arkreen Mainnet Transition","href":"/quick-start/mainnet-transition","docId":"quick-start/mainnet-transition"},{"type":"link","label":"Arkreen Staking Guide","href":"/quick-start/staking-guide","docId":"quick-start/staking-guide"},{"type":"link","label":"Arkreen Smart Plug Quick Start","href":"/quick-start/smart-plug-quick-start","docId":"quick-start/smart-plug-quick-start"}],"collapsible":true},{"type":"category","label":"Overview","collapsed":true,"items":[{"type":"link","label":"Arkreen","href":"/","docId":"README"},{"type":"link","label":"The Pain Points to Resolve","href":"/overview/background-and-the-pain-points","docId":"overview/background-and-the-pain-points"},{"type":"link","label":"Arkreen Network Vision","href":"/overview/arkreen-network-vision","docId":"overview/arkreen-network-vision"},{"type":"category","label":"Arkreen Miner","collapsed":true,"items":[{"type":"category","label":"Energy Generation Category","collapsed":false,"items":[{"type":"link","label":"Remote Miner","href":"/overview/miner/generation/remote-miner","docId":"overview/miner/generation/remote-miner"},{"type":"link","label":"Lite Remote Miner","href":"/overview/miner/generation/lite-remote-miner","docId":"overview/miner/generation/lite-remote-miner"},{"type":"link","label":"Plant Miner","href":"/overview/miner/generation/plant-miner","docId":"overview/miner/generation/plant-miner"},{"type":"link","label":"Standard Miner","href":"/overview/miner/generation/standard-miner","docId":"overview/miner/generation/standard-miner"},{"type":"link","label":"Obsoleted: Gaming Miner","href":"/overview/miner/generation/gaming-miner","docId":"overview/miner/generation/gaming-miner"}],"collapsible":true},{"type":"category","label":"Energy Consumption Category","collapsed":false,"items":[{"type":"link","label":"Consumption Plug Miner","href":"/overview/miner/consumption/plug-miner","docId":"overview/miner/consumption/plug-miner"}],"collapsible":true}],"collapsible":true,"href":"/overview/miner/"},{"type":"link","label":"Pillar Applications","href":"/overview/pillar-applications","docId":"overview/pillar-applications"}],"collapsible":true},{"type":"category","label":"Roadmap","collapsed":true,"items":[{"type":"link","label":"Roadmap Overview","href":"/roadmap/roadmap-overview","docId":"roadmap/roadmap-overview"},{"type":"link","label":"Phase 0","href":"/roadmap/phase0","docId":"roadmap/phase0"},{"type":"link","label":"Phase 1","href":"/roadmap/phase1","docId":"roadmap/phase1"},{"type":"link","label":"Phase 2","href":"/roadmap/phase2","docId":"roadmap/phase2"},{"type":"link","label":"Phase 3","href":"/roadmap/phase3","docId":"roadmap/phase3"}],"collapsible":true},{"type":"category","label":"Community Programs","collapsed":true,"items":[{"type":"link","label":"Community Solar Program","href":"/programs/community-solar-program","docId":"programs/community-solar-program"},{"type":"link","label":"Referral Program","href":"/programs/referral-program","docId":"programs/referral-program"},{"type":"link","label":"Plug for Green Program","href":"/programs/plug-for-green-program","docId":"programs/plug-for-green-program"}],"collapsible":true,"href":"/programs/"},{"type":"category","label":"Governance","collapsed":true,"items":[{"type":"link","label":"Governance Overview","href":"/governance/governance-overview","docId":"governance/governance-overview"},{"type":"link","label":"Community Owned","href":"/governance/community-owned","docId":"governance/community-owned"},{"type":"link","label":"Voting","href":"/governance/voting","docId":"governance/voting"},{"type":"link","label":"Arkreen Mariners","href":"/governance/arkreen-mariners","docId":"governance/arkreen-mariners"}],"collapsible":true},{"type":"category","label":"Token","collapsed":true,"items":[{"type":"link","label":"What is AKRE?","href":"/token/what-is-akre","docId":"token/what-is-akre"},{"type":"link","label":"Network Primitives","href":"/token/network-primitives","docId":"token/network-primitives"},{"type":"link","label":"Token Distribution","href":"/token/token-distribution","docId":"token/token-distribution"}],"collapsible":true},{"type":"category","label":"NFT","collapsed":true,"items":[{"type":"link","label":"Miner NFT","href":"/nft/miner-nft","docId":"nft/miner-nft"}],"collapsible":true},{"type":"category","label":"Economic Model","collapsed":true,"items":[{"type":"link","label":"Economic Model Overview","href":"/ecomodel/ecomodel_overview","docId":"ecomodel/ecomodel_overview"}],"collapsible":true},{"type":"category","label":"AREC","collapsed":true,"items":[{"type":"link","label":"AREC Overview","href":"/arec/arec-overview","docId":"arec/arec-overview"},{"type":"link","label":"Climate Actors","href":"/arec/climate-actors","docId":"arec/climate-actors"},{"type":"link","label":"AREC Assets","href":"/arec/arec-assets","docId":"arec/arec-assets"},{"type":"link","label":"ART Token","href":"/arec/art-token","docId":"arec/art-token"},{"type":"link","label":"Climate Badge","href":"/arec/climate-badge","docId":"arec/climate-badge"},{"type":"category","label":"AREC DApp","collapsed":true,"items":[{"type":"link","label":"AREC Quick Start","href":"/arec/arec-quickstart","docId":"arec/arec-quickstart"},{"type":"link","label":"AREC Profile","href":"/arec/arec-profile","docId":"arec/arec-profile"},{"type":"link","label":"Issue AREC","href":"/arec/issue-arec","docId":"arec/issue-arec"},{"type":"link","label":"Redeem AREC","href":"/arec/redeem-arec","docId":"arec/redeem-arec"},{"type":"link","label":"Liquidize AREC","href":"/arec/liquidize-arec","docId":"arec/liquidize-arec"},{"type":"link","label":"Offset ART","href":"/arec/offset-art","docId":"arec/offset-art"},{"type":"link","label":"AREC Badge","href":"/arec/arec-badge","docId":"arec/arec-badge"},{"type":"link","label":"Arkreen DEX","href":"/arec/arec-dex","docId":"arec/arec-dex"}],"collapsible":true,"href":"/arec/arec-dapp"},{"type":"link","label":"AREC Bridge","href":"/arec/arec-bridge","docId":"arec/arec-bridge"},{"type":"link","label":"AREC Port","href":"/arec/arec-port","docId":"arec/arec-port"}],"collapsible":true},{"type":"category","label":"How to Use","collapsed":true,"items":[{"type":"link","label":"Arkreen Console","href":"/how-to-use/arkreen-console","docId":"how-to-use/arkreen-console"},{"type":"link","label":"Arkreen Explorer","href":"/how-to-use/arkreen-explorer","docId":"how-to-use/arkreen-explorer"},{"type":"link","label":"Arkreen App","href":"/how-to-use/arkreen-app","docId":"how-to-use/arkreen-app"},{"type":"link","label":"Data Collector Installation","href":"/how-to-use/data-collector-installation","docId":"how-to-use/data-collector-installation"},{"type":"link","label":"Arkreen Smart Plug","href":"/how-to-use/smart-plug-user-guide","docId":"how-to-use/smart-plug-user-guide"}],"collapsible":true},{"type":"category","label":"Technical Details","collapsed":true,"items":[{"type":"category","label":"Proof of Green Data","collapsed":true,"items":[{"type":"link","label":"How does a Miner fulfill the Proof of Green Data task?","href":"/technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task","docId":"technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task"},{"type":"link","label":"How does Arkreen Network determine which Miner will be rewarded?","href":"/technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded","docId":"technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded"},{"type":"link","label":"How does Arkreen Network verify the trustworthiness of Proof of Green Data?","href":"/technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data","docId":"technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data"},{"type":"link","label":"How does Arkreen Network calculate the token amount that a Miner will earn?","href":"/technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn","docId":"technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn"}],"collapsible":true,"href":"/technical-details/proof-of-green-data/overview"},{"type":"link","label":"How does Plant Miner get rewards","href":"/technical-details/plant-miner-rewards","docId":"technical-details/plant-miner-rewards"},{"type":"link","label":"Electricity-generation data Storage in Filecoin","href":"/technical-details/electricity-generation-data-storage-in-filecoin","docId":"technical-details/electricity-generation-data-storage-in-filecoin"},{"type":"link","label":"Smart contract deployment","href":"/technical-details/smart-contract-deployment","docId":"technical-details/smart-contract-deployment"}],"collapsible":true},{"type":"category","label":"FAQ","collapsed":true,"items":[{"type":"link","label":"Buy Remote Miner","href":"/faq/buy-remote-miner","docId":"faq/buy-remote-miner"},{"type":"link","label":"Reward and Withdrawal","href":"/faq/reward-and-withdrawal","docId":"faq/reward-and-withdrawal"},{"type":"link","label":"Energy and Miner Status","href":"/faq/energy-and-miner-status","docId":"faq/energy-and-miner-status"},{"type":"link","label":"\\"Road to DePIN+ReFi\\" Campaign","href":"/faq/road-to-depin-refi-campaign","docId":"faq/road-to-depin-refi-campaign"},{"type":"link","label":"AREC FAQs","href":"/faq/arec-faq","docId":"faq/arec-faq"}],"collapsible":true}]},"docs":{"arec/arec-assets":{"id":"arec/arec-assets","title":"Arkreen Ecosystem Assets","description":"In the Arkreen ecosystem, there are several kinds of digital assets:","sidebar":"ArkreenSidebar"},"arec/arec-badge":{"id":"arec/arec-badge","title":"How to Mint Retirement Badge","description":"The climate actor may freely mint the carbon retirement badge based on the climate actions created by redeeming AREC NFTs or offsetting ART tokens. The climate action is only effective once to mint the climate badge. Some information, such as the retirement entity, retirement beneficiary, and retirement supplementary remarks can be recorded in the retirement badge. With this badge, you could demonstrate your contribution to protecting our Planet and make that verifiable for governmental agencies, administrative departments, or other 3rd parties.","sidebar":"ArkreenSidebar"},"arec/arec-bridge":{"id":"arec/arec-bridge","title":"AREC Bridge","description":"In addition to issuing AREC based on renewable energy generation proof sourced from the Arkreen network, the AREC Dapp goes a step further by offering support for the issuance of AREC assets using classic REC assets like I-REC, TIGR, Green-e, and others. This unique capability, called as the AREC bridge feature, enables the seamless integration of traditional RECs from the physical world into the innovative Web3 ecosystem.","sidebar":"ArkreenSidebar"},"arec/arec-dapp":{"id":"arec/arec-dapp","title":"AREC Dapp","description":"AREC DApp is the one-stop AREC service access entrypoint for the Arkreen community members to manage AREC related assets. It relies on multiple smart contracts deployed on the blockchain to provide services around AREC, including: issuing AREC, redeeming AREC,liquidizing AREC to ART, offsetting ART, solidifying ART to AREC, buying ART and minting Arkreen badge.","sidebar":"ArkreenSidebar"},"arec/arec-dex":{"id":"arec/arec-dex","title":"arec-dex","description":"Arkreen DEX will come soon.","sidebar":"ArkreenSidebar"},"arec/arec-overview":{"id":"arec/arec-overview","title":"AREC Overview","description":"AREC, Arkreen Renewable Energy Certificate, is the REC issued on the basis of the renewable energy generation proof sourcing from the Arkreen Network. With the help of high efficiency and amazing composability of the Web3 technology, AREC targets to be the fundamental financial instrument to gear up the global carbon emission reduction progress.","sidebar":"ArkreenSidebar"},"arec/arec-port":{"id":"arec/arec-port","title":"AREC Port","description":"The standard process of utilizing AREC (Arkreen Renewable Energy Certificate) to offset one\'s energy consumption is as follows: purchase and redeem AREC NFTs to commit climate actions, or buy and offset ART tokens to commit climate actions. Then, based on the climate action(s), mint a climate badge, which may serve as proof of carbon neutrality for the badge beneficiary.","sidebar":"ArkreenSidebar"},"arec/arec-profile":{"id":"arec/arec-profile","title":"AREC Asset Profile","description":"This is the first page while you visit the AREC Dapp. Two level of AREC assets are displayed in two separate sub-pages:","sidebar":"ArkreenSidebar"},"arec/arec-quickstart":{"id":"arec/arec-quickstart","title":"AREC Quick Start","description":"Follow these steps to seamlessly mint ART tokens from green energy generation.","sidebar":"ArkreenSidebar"},"arec/art-token":{"id":"arec/art-token","title":"ART Token","description":"ART tokens are minted while an AREC NFT is liquidized by the user. Liquidization is the process in which the user transfers the owned AREC NFT to the ART smart contract, the AREC NFT is set to Liquidized state, and the exact same amount of ART tokens as the amount of the RE output in the liquidized AREC NFT are minted to the user\'s account.","sidebar":"ArkreenSidebar"},"arec/climate-actors":{"id":"arec/climate-actors","title":"AREC Climate Actors","description":"There are two breeds of distinguished climate actors within the Arkreen ecosystem: renewable energy generators and climate actors.","sidebar":"ArkreenSidebar"},"arec/climate-badge":{"id":"arec/climate-badge","title":"Climate Badge","description":"The Climate badge is minted based on one or more climate actions created during the process of redeeming AREC NFTs or offsetting ART tokens. Each climate badge contains comprehensive retirement information. With this data, it becomes possible to trace back and identify all the original AREC NFTs that were retired to create the badge. This detailed record-keeping feature ensures transparency and accountability for the climate actions associated with the badge.","sidebar":"ArkreenSidebar"},"arec/issue-arec":{"id":"arec/issue-arec","title":"How to issue an AREC","description":"To issue an AREC, you need to be running one or more miners, and have already generated some renewable energy.","sidebar":"ArkreenSidebar"},"arec/liquidize-arec":{"id":"arec/liquidize-arec","title":"How to Liquidize an AREC NFT","description":"Liquidizing an AREC NFT means setting the AREC NFT to the Liquidized state, and minting some amount of ART, the Arkreen Renewable-Energy Token, to the owner\'s wallet. The newly minted amount of ART is exactly the same as the amount of the RE conveyed by the liquidized AREC.","sidebar":"ArkreenSidebar"},"arec/offset-art":{"id":"arec/offset-art","title":"How to Offset ART","description":"Offsetting ART means burning your ART tokens to create a climate action. Climate action is a record in the blockchain, which stores all the carbon offset relative information, such as owner of the action, RE amount in the action, AREC NFT ID linked to this action, etc.","sidebar":"ArkreenSidebar"},"arec/redeem-arec":{"id":"arec/redeem-arec","title":"How to redeem the AREC","description":"Redeeming AREC means setting the AREC NFT into the Retired state. The lifecycle of the AREC NFT is thus Retired, and permanently terminated from usage ever again","sidebar":"ArkreenSidebar"},"ecomodel/ecomodel_overview":{"id":"ecomodel/ecomodel_overview","title":"Economic Model","description":"As a Web3-enabled data network for distributed renewable energy resources (DERs), the essential economic model of Arkreen is a commission fee based model.","sidebar":"ArkreenSidebar"},"faq/arec-faq":{"id":"faq/arec-faq","title":"AREC FAQs","description":"Q1: I tried AREC Quick Start in 2 browsers (or 2 computers/cellphones). The 2 browsers show inconsistent information or get stuck when issuing ART. How can I deal with it?","sidebar":"ArkreenSidebar"},"faq/buy-remote-miner":{"id":"faq/buy-remote-miner","title":"Buy Remote Miner","description":"Q1: What is the difference between a Remote Miner and a Standard Miner?","sidebar":"ArkreenSidebar"},"faq/energy-and-miner-status":{"id":"faq/energy-and-miner-status","title":"Energy and Miner Status","description":"Q1: I just purchased a Remote Miner. Why does it report zero power in the past a few hours?","sidebar":"ArkreenSidebar"},"faq/order-standard-miner":{"id":"faq/order-standard-miner","title":"Order A Standard Miner","description":"Q1: How can I order a Standard Miner?"},"faq/reward-and-withdrawal":{"id":"faq/reward-and-withdrawal","title":"Reward and Withdrawal","description":"Q1: I see reward in the dashboard, but why does my Metamask display no reward token at all?","sidebar":"ArkreenSidebar"},"faq/road-to-depin-refi-campaign":{"id":"faq/road-to-depin-refi-campaign","title":"\\"Road to DePIN+ReFi\\" Campaign","description":"Q1: What is \\"Road to DePIN+ReFi\\" Campaign?","sidebar":"ArkreenSidebar"},"governance/arkreen-mariners":{"id":"governance/arkreen-mariners","title":"Arkreen Mariners","description":"Based on the principles of decentralization, efficiency and security, the Arkreen Network construction team will include a core team and a community team. The core team will be responsible for the construction of the core functions of the Arkreen network and the early establishment and operation of the foundation. The community team will be responsible for network technology, applications, cooperation, community, media and other tasks. The network construction principles include : how the funded team will assume corresponding responsibilities; how the construction content and sponsorship usage details are disclosed in a completely transparent manner; how the construction team is supervised by the foundation and the community; how network construction adopts a token-based governance decision-making model.","sidebar":"ArkreenSidebar"},"governance/community-owned":{"id":"governance/community-owned","title":"Community Owned","description":"Arkreen will adopt a DAO (foundation) governance model","sidebar":"ArkreenSidebar"},"governance/governance-overview":{"id":"governance/governance-overview","title":"Governance Overview","description":"As a DAO (decentralized autonomous organization) based on the intersection of clean energy (public attributes) and our evolving digital economy, Arkreen\'s governance model and economic model refer to a country\'s historical experience and lavishly draws on the wisdom of our predecessors.","sidebar":"ArkreenSidebar"},"governance/voting":{"id":"governance/voting","title":"Voting","description":"During early stages, voting will be for (1) selecting accredited governance committee member to participate in network governance; (2) voting on matters that AIP cannot work. After the network has matured (expected in 3-5 years), we will transition to a pure on-chain voting model in stages. The specific vote will be for (1)(2) as mentioned above, and (3) to initiate, support or modify a proposal under the premise that the approval rate reaches 1%.","sidebar":"ArkreenSidebar"},"how-to-use/arkreen-app":{"id":"how-to-use/arkreen-app","title":"Arkreen App","description":"TBD","sidebar":"ArkreenSidebar"},"how-to-use/arkreen-console":{"id":"how-to-use/arkreen-console","title":"Arkreen Console","description":"Arkreen Console","sidebar":"ArkreenSidebar"},"how-to-use/arkreen-explorer":{"id":"how-to-use/arkreen-explorer","title":"Arkreen Explorer","description":"Arkreen Explorer","sidebar":"ArkreenSidebar"},"how-to-use/data-collector-installation":{"id":"how-to-use/data-collector-installation","title":"Data Collector Installation","description":"If you are interested in connecting your existing solar PV system to Arkreen Network, please fill in the form below:","sidebar":"ArkreenSidebar"},"how-to-use/green-btc":{"id":"how-to-use/green-btc","title":"Green BTC Club","description":"Bitcoin mining plays a crucial role in maintaining the security and integrity of the Bitcoin network. It also consumes a significant amount of energy, and much of that energy comes from non-renewable sources like coal and natural gas. According to the Cambridge Bitcoin Electricity Consumption Index, Bitcoin\'s estimated annual electricity consumption in the year of 2022 is around 107 TWh (terawatt hours), which is more than the entire energy consumption of some countries."},"how-to-use/smart-plug-user-guide":{"id":"how-to-use/smart-plug-user-guide","title":"User Guide for Arkreen Smart Plug","description":"How to Participate?","sidebar":"ArkreenSidebar"},"nft/miner-nft":{"id":"nft/miner-nft","title":"Miner NFT","description":"An NFT will be minted for every miner.","sidebar":"ArkreenSidebar"},"overview/arkreen-network-vision":{"id":"overview/arkreen-network-vision","title":"Arkreen Network Vision","description":"Arkreen Network Vision","sidebar":"ArkreenSidebar"},"overview/background-and-the-pain-points":{"id":"overview/background-and-the-pain-points","title":"The Pain Points to Resolve","description":"Carbon neutrality is one of the biggest challenges facing mankind in the 21st century. Among the most significant contributors to global GreenHouse Gas (GHG) emissions is carbon dioxide (CO2) emitted by power generation, accounting for around 30% of the total global greenhouse gas emissions (EPA: Sources of Greenhouse Gas Emissions).","sidebar":"ArkreenSidebar"},"overview/miner/consumption/plug-miner":{"id":"overview/miner/consumption/plug-miner","title":"Consumption Plug Miner","description":"In addition to Energy Generation Category, a new Energy Consumption Category is introduced, which includes a new formfactor Consumption Plug Miner as one of its components. A smart plug can calculate how much energy an electrical appliance consumes as well as schedule the power supply remotely. The users could power up their appliances (e.g. air conditioner) by the smart plug to participate in the green actions.","sidebar":"ArkreenSidebar"},"overview/miner/generation/gaming-miner":{"id":"overview/miner/generation/gaming-miner","title":"Obsoleted: Gaming Miner","description":"Gaming Miner is NOT applicable since Phase 1. The information is for archive only.","sidebar":"ArkreenSidebar"},"overview/miner/generation/lite-remote-miner":{"id":"overview/miner/generation/lite-remote-miner","title":"Lite Remote Miner","description":"A Lite Remote Miner is a special type of Remote Miner, which is for airdropping purpose. Lite Remote Miner has different rated capacity and lifespan from the conventional Remote Miner. The default capacity and lifespan are 5 Watt for 3 months.","sidebar":"ArkreenSidebar"},"overview/miner/generation/plant-miner":{"id":"overview/miner/generation/plant-miner","title":"Plant Miner","description":"A Plant Miner is a collection of energy data from a physical green energy generation facility, to feed Remote Miners. The energy facility is connected to an IoT device that collects energy generation data. The collected data is fractionized to feed several Remote Miners as if these Remote Miners were generating the energy.","sidebar":"ArkreenSidebar"},"overview/miner/generation/remote-miner":{"id":"overview/miner/generation/remote-miner","title":"Remote Miner","description":"A Remote Miner is a fractional miner running remotely. Every Remote Miner binds to an green energy generation facility (e.g. solar photovoltaic plant). The energy facility is connected to an IoT device that collects energy generation data. The collected data is fractionized to feed several Remote Miners as if these Remote Miners were generating the energy. Unless explicitly stated, Remote Miner\'s default capacity is 100 Watt (0.1kW) and its default lifespan is 1-year subscription since it\'s purchased.","sidebar":"ArkreenSidebar"},"overview/miner/generation/standard-miner":{"id":"overview/miner/generation/standard-miner","title":"Standard Miner","description":"A Standard Miner is a collection of energy data from a physical green energy generation facility. It\'s similar to a Plant Miner. Both of them acquire green energy data from physical energy facilities. The difference is, a Standard Miner gets rewards directly on the basis of how much energy it generates, with a normalization method that regularizes the reward weight. Note that the normalization method leads to a non-linear reward curve that higher power above a threshold contributes to less rewards. A Standard Miner NFT will be minted per each Standard Miner upon miner on-boarding.","sidebar":"ArkreenSidebar"},"overview/miner/README":{"id":"overview/miner/README","title":"Arkreen Miner","description":"Energy Generation Category","sidebar":"ArkreenSidebar"},"overview/pillar-applications":{"id":"overview/pillar-applications","title":"Pillar Applications","description":"Generation of Renewable Energy Certificates","sidebar":"ArkreenSidebar"},"programs/community-solar-program":{"id":"programs/community-solar-program","title":"Community Solar Program","description":"Objective","sidebar":"ArkreenSidebar"},"programs/csp-payment-safeguard-plan":{"id":"programs/csp-payment-safeguard-plan","title":"CSP Payment Safeguard Plan: Immediate Rewards Guaranteed for Enhanced User Experience!","description":"Thank you for choosing CSP products and becoming part of the Arkreen family. We understand the urgency to swiftly participate in climate action and achieve \'impact to earn\' after payment. Additionally, we are committed to minimizing any potential logistic delays during the initial launch of CSP hardware sales in new countries or regions not included in the trial phase."},"programs/plug-for-green-program":{"id":"programs/plug-for-green-program","title":"Plug for Green Program","description":"What is Plug for Green Program","sidebar":"ArkreenSidebar"},"programs/README":{"id":"programs/README","title":"Arkreen Community Programs","description":"Arkreen Community Programs are special programs that encourage people to participate in and co-build the network.","sidebar":"ArkreenSidebar"},"programs/referral-program":{"id":"programs/referral-program","title":"A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards","description":"Background","sidebar":"ArkreenSidebar"},"quick-start/arkreen-newcomer-guide/claim-referral-gift":{"id":"quick-start/arkreen-newcomer-guide/claim-referral-gift","title":"Claim Referral Gift - Lite Remote Miners Free Gift","description":"For each person who purchases a remote miner through your referral link, you\'ll receive a Lite Remote Miner as a gift. Take action now and build your exclusive Arkreen network!","sidebar":"ArkreenSidebar"},"quick-start/arkreen-newcomer-guide/lite-miners-gift":{"id":"quick-start/arkreen-newcomer-guide/lite-miners-gift","title":"100 Lite Remote Miners Free Gift","description":"Follow our guide through four-step missions. Each step you complete unlocks a corresponding amount of Lite Remote Miner gifts.","sidebar":"ArkreenSidebar"},"quick-start/arkreen-newcomer-guide/README":{"id":"quick-start/arkreen-newcomer-guide/README","title":"Arkreen Newcomer Guide","description":"Step1: Get Your First Arkreen Miner","sidebar":"ArkreenSidebar"},"quick-start/mainnet-transition":{"id":"quick-start/mainnet-transition","title":"Arkreen Mainnet Transition","description":"We\'re excited to announce the launch of Arkreen Mainnet, featuring an airdrop, a tAKRE to AKRE conversion plan, token holder governance, and an on-chain Arkreen Miners migration strategy.","sidebar":"ArkreenSidebar"},"quick-start/smart-plug-quick-start":{"id":"quick-start/smart-plug-quick-start","title":"Arkreen Smart Plug Quick Start","description":"Note: Smart Plug is under white-list test.","sidebar":"ArkreenSidebar"},"quick-start/staking-guide":{"id":"quick-start/staking-guide","title":"Arkreen Staking Guide","description":"1. Withdrawing AKRE","sidebar":"ArkreenSidebar"},"README":{"id":"README","title":"What is Arkreen Network","description":"Arkreen is the combination of Ark and (g)reen, meaning an ark aggregating and carrying green energy data to the future.","sidebar":"ArkreenSidebar"},"roadmap/phase0":{"id":"roadmap/phase0","title":"Phase 0","description":"Phase 0 is the first phase for the development and user early experience purposes.","sidebar":"ArkreenSidebar"},"roadmap/phase1":{"id":"roadmap/phase1","title":"Phase 1","description":"The Phase 1 period commences the first applicable phase of Arkreen Network which is fed with real energy data, to support the uplink data aggregation.","sidebar":"ArkreenSidebar"},"roadmap/phase2":{"id":"roadmap/phase2","title":"Phase 2","description":"The Phase 2 period represents an expanded stage for the Arkreen Network mainnet to support bi-directional data/control aggregation for more scenarios.","sidebar":"ArkreenSidebar"},"roadmap/phase3":{"id":"roadmap/phase3","title":"Phase 3","description":"The Phase 3 period will allow for a thriving sub-DAO driven ecosystem to flourish for DERs and decarbonization. As more and more energy prosumers are connected, the Arkreen Network is anticipated to metamorphosize into a sub-DAO community. Participants in various sectors are self-organized to build up climate+crypto solutions. For Climate change advocates, a thriving Regenerative Finance (ReFi) ecosystem of players are expected to monetize energy network data and help Arkreen Network flourish.","sidebar":"ArkreenSidebar"},"roadmap/roadmap-overview":{"id":"roadmap/roadmap-overview","title":"Roadmap Overview","description":"Arkreen Network is built by integrating IoT, AI, blockchain and token economy. Each of them is a big topic. In today\u2019s trivergent environment, the physical and digital worlds meshing together is a gamer changer that allows Arkreen Network to be built into a unique visionary product offering!","sidebar":"ArkreenSidebar"},"technical-details/electricity-generation-data-storage-in-filecoin":{"id":"technical-details/electricity-generation-data-storage-in-filecoin","title":"Electricity-generation data Storage in Filecoin","description":"Many decentralized global infrastructure platforms, such as Arkreen Network, that combine crypto-economic incentives, blockchain, and the Internet of Things (IoT), convergent solutions together have a singular opportunity to promote collective action toward mitigating carbon emissions, demonstrate industry-wide decarbonization, and stimulate new demand for clean energy resources. Arkreen is a web-3 decentralized global resource energy distribution platform built on the Polygon blockchain network and powered by Filecoin green storage to enable the interconnection and monetization of distributed energy resources for carbon reduction applications.","sidebar":"ArkreenSidebar"},"technical-details/plant-miner-rewards":{"id":"technical-details/plant-miner-rewards","title":"How does Plant Miner get rewards?","description":"Unlike other miners in the Energy Generation Category, Plant Miner\'s rewards are not directly calculated from the energy it generates. Instead, the rewards a Plant Miner gets are proportional to the rewards the Remote Miners (fed by this Plant Miner) get. The reward pool for Plant Miner is separate from the other miners\'.","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task":{"id":"technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task","title":"How does a Miner fulfill the Proof of Green Data task?","description":"The Arkreen Network rewards Miners who consistently report high-quality green energy data. All Miners connected to the Arkreen Network need to sample data every 5 minutes and buffer it locally for 1 hour, and report all the buffered data every 1 hour. After the Miner reports this data, it can clear the local data buffer and prepare for the next data report. The green energy data that each miner will sample includes the following below:","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn":{"id":"technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn","title":"How does Arkreen Network calculate the token amount that a Miner will earn?","description":"Arkreen Network distributes the reward to the miners (except for Plant Miner) according to the trustworthiness of green energy generation data, the normalized quantity of data and the normalized volume of energy, the detailed calculation process is as follows.","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded":{"id":"technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded","title":"How does Arkreen Network determine which Miner will be rewarded?","description":"Every miner has a chance to earn the Proof of Green Data reward about every K epochs, where currently K=2. In the first block of every epoch, Arkreen Network will generate a key pair, and publish the public key (verifiable random number). In the first block of the next epoch, Arkreen Network will use the private key of the key pair to decide the miners that will be rewarded and publish the private key (verifiable evidence). The decision process flow is listed hereunder:","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data":{"id":"technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data","title":"How does Arkreen Network verify the trustworthiness of Proof of Green Data?","description":"In order to avoid miners reporting fake power generation data to the network, Arkreen Network uses a set of novel methods for data authenticity judgment. The exact method depends on the category of the miners.","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/overview":{"id":"technical-details/proof-of-green-data/overview","title":"Proof of Green Data and Reward Distribution","description":"The Arkreen Network uses a set of novel algorithms called Proof of Green Data to monitor Arkreen Network\u2019s green energy generation, consumption and storage. All miners who correctly fulfill the Proof of Green Data tasks will be rewarded. The Proof of Green Data helps the Arkreen Network measure its generation, consumption and storage capacity, which is the basis for the network to provide green energy data asset related services.","sidebar":"ArkreenSidebar"},"technical-details/smart-contract-deployment":{"id":"technical-details/smart-contract-deployment","title":"Smart Contract Deployment","description":"Arkreen ecosystem includes several renewable energy certificate supply-demand sides, specifically the Arkreen Miner, the Arkren AREC issuance and tokenization protocol, the AREC bridge protocol, the GreenBTC club, and etc. The core features of these applications are all underpinned by on-chain smart contracts.","sidebar":"ArkreenSidebar"},"token/network-primitives":{"id":"token/network-primitives","title":"Network Primitives","description":"Epochs","sidebar":"ArkreenSidebar"},"token/token-distribution":{"id":"token/token-distribution","title":"Token Distribution","description":"Overall Token Distribution","sidebar":"ArkreenSidebar"},"token/what-is-akre":{"id":"token/what-is-akre","title":"What is AKRE?","description":"AKRE (Arkreen Token) is the ERC-20 cryptocurrency and protocol token for the Arkreen Network. Its symbol is AKRE. The token can either be distributed as a reward to contributors who help build and maintain the Arkreen Network, and can also be used to pay Arkreen Network transaction fees and external entity payments for using the green energy data service provided by the Arkreen Network. The maximum supply of AKRE is 10,000,000,000 (10 billion). All AKRE of the Arkreen Network will be distributed to relevant contributors in batches according to the progress of network construction.","sidebar":"ArkreenSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.c68b2c53.js b/assets/js/935f2afb.c68b2c53.js deleted file mode 100644 index 6c3174c6..00000000 --- a/assets/js/935f2afb.c68b2c53.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkarkreen_docs=self.webpackChunkarkreen_docs||[]).push([[8581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"ArkreenSidebar":[{"type":"category","label":"Quick Start","collapsed":false,"items":[{"type":"category","label":"Arkreen Newcomer Guide","collapsed":true,"items":[{"type":"link","label":"100 Lite Remote Miners Free Gift","href":"/quick-start/arkreen-newcomer-guide/lite-miners-gift","docId":"quick-start/arkreen-newcomer-guide/lite-miners-gift"},{"type":"link","label":"Claim Referral Gift","href":"/quick-start/arkreen-newcomer-guide/claim-referral-gift","docId":"quick-start/arkreen-newcomer-guide/claim-referral-gift"}],"collapsible":true,"href":"/quick-start/arkreen-newcomer-guide/"},{"type":"link","label":"Arkreen Mainnet Transition","href":"/quick-start/mainnet-transition","docId":"quick-start/mainnet-transition"},{"type":"link","label":"Arkreen Staking Guide","href":"/quick-start/staking-guide","docId":"quick-start/staking-guide"},{"type":"link","label":"Arkreen Smart Plug Quick Start","href":"/quick-start/smart-plug-quick-start","docId":"quick-start/smart-plug-quick-start"}],"collapsible":true},{"type":"category","label":"Overview","collapsed":true,"items":[{"type":"link","label":"Arkreen","href":"/","docId":"README"},{"type":"link","label":"The Pain Points to Resolve","href":"/overview/background-and-the-pain-points","docId":"overview/background-and-the-pain-points"},{"type":"link","label":"Arkreen Network Vision","href":"/overview/arkreen-network-vision","docId":"overview/arkreen-network-vision"},{"type":"category","label":"Arkreen Miner","collapsed":true,"items":[{"type":"category","label":"Energy Generation Category","collapsed":false,"items":[{"type":"link","label":"Remote Miner","href":"/overview/miner/generation/remote-miner","docId":"overview/miner/generation/remote-miner"},{"type":"link","label":"Lite Remote Miner","href":"/overview/miner/generation/lite-remote-miner","docId":"overview/miner/generation/lite-remote-miner"},{"type":"link","label":"Plant Miner","href":"/overview/miner/generation/plant-miner","docId":"overview/miner/generation/plant-miner"},{"type":"link","label":"Standard Miner","href":"/overview/miner/generation/standard-miner","docId":"overview/miner/generation/standard-miner"},{"type":"link","label":"Obsoleted: Gaming Miner","href":"/overview/miner/generation/gaming-miner","docId":"overview/miner/generation/gaming-miner"}],"collapsible":true},{"type":"category","label":"Energy Consumption Category","collapsed":false,"items":[{"type":"link","label":"Consumption Plug Miner","href":"/overview/miner/consumption/plug-miner","docId":"overview/miner/consumption/plug-miner"}],"collapsible":true}],"collapsible":true,"href":"/overview/miner/"},{"type":"link","label":"Pillar Applications","href":"/overview/pillar-applications","docId":"overview/pillar-applications"}],"collapsible":true},{"type":"category","label":"Roadmap","collapsed":true,"items":[{"type":"link","label":"Roadmap Overview","href":"/roadmap/roadmap-overview","docId":"roadmap/roadmap-overview"},{"type":"link","label":"Phase 0","href":"/roadmap/phase0","docId":"roadmap/phase0"},{"type":"link","label":"Phase 1","href":"/roadmap/phase1","docId":"roadmap/phase1"},{"type":"link","label":"Phase 2","href":"/roadmap/phase2","docId":"roadmap/phase2"},{"type":"link","label":"Phase 3","href":"/roadmap/phase3","docId":"roadmap/phase3"}],"collapsible":true},{"type":"category","label":"Community Programs","collapsed":true,"items":[{"type":"link","label":"Community Solar Program","href":"/programs/community-solar-program","docId":"programs/community-solar-program"},{"type":"link","label":"Referral Program","href":"/programs/referral-program","docId":"programs/referral-program"}],"collapsible":true,"href":"/programs/"},{"type":"category","label":"Governance","collapsed":true,"items":[{"type":"link","label":"Governance Overview","href":"/governance/governance-overview","docId":"governance/governance-overview"},{"type":"link","label":"Community Owned","href":"/governance/community-owned","docId":"governance/community-owned"},{"type":"link","label":"Voting","href":"/governance/voting","docId":"governance/voting"},{"type":"link","label":"Arkreen Mariners","href":"/governance/arkreen-mariners","docId":"governance/arkreen-mariners"}],"collapsible":true},{"type":"category","label":"Token","collapsed":true,"items":[{"type":"link","label":"What is AKRE?","href":"/token/what-is-akre","docId":"token/what-is-akre"},{"type":"link","label":"Network Primitives","href":"/token/network-primitives","docId":"token/network-primitives"},{"type":"link","label":"Token Distribution","href":"/token/token-distribution","docId":"token/token-distribution"}],"collapsible":true},{"type":"category","label":"NFT","collapsed":true,"items":[{"type":"link","label":"Miner NFT","href":"/nft/miner-nft","docId":"nft/miner-nft"}],"collapsible":true},{"type":"category","label":"Economic Model","collapsed":true,"items":[{"type":"link","label":"Economic Model Overview","href":"/ecomodel/ecomodel_overview","docId":"ecomodel/ecomodel_overview"}],"collapsible":true},{"type":"category","label":"AREC","collapsed":true,"items":[{"type":"link","label":"AREC Overview","href":"/arec/arec-overview","docId":"arec/arec-overview"},{"type":"link","label":"Climate Actors","href":"/arec/climate-actors","docId":"arec/climate-actors"},{"type":"link","label":"AREC Assets","href":"/arec/arec-assets","docId":"arec/arec-assets"},{"type":"link","label":"ART Token","href":"/arec/art-token","docId":"arec/art-token"},{"type":"link","label":"Climate Badge","href":"/arec/climate-badge","docId":"arec/climate-badge"},{"type":"category","label":"AREC DApp","collapsed":true,"items":[{"type":"link","label":"AREC Quick Start","href":"/arec/arec-quickstart","docId":"arec/arec-quickstart"},{"type":"link","label":"AREC Profile","href":"/arec/arec-profile","docId":"arec/arec-profile"},{"type":"link","label":"Issue AREC","href":"/arec/issue-arec","docId":"arec/issue-arec"},{"type":"link","label":"Redeem AREC","href":"/arec/redeem-arec","docId":"arec/redeem-arec"},{"type":"link","label":"Liquidize AREC","href":"/arec/liquidize-arec","docId":"arec/liquidize-arec"},{"type":"link","label":"Offset ART","href":"/arec/offset-art","docId":"arec/offset-art"},{"type":"link","label":"AREC Badge","href":"/arec/arec-badge","docId":"arec/arec-badge"},{"type":"link","label":"Arkreen DEX","href":"/arec/arec-dex","docId":"arec/arec-dex"}],"collapsible":true,"href":"/arec/arec-dapp"},{"type":"link","label":"AREC Bridge","href":"/arec/arec-bridge","docId":"arec/arec-bridge"},{"type":"link","label":"AREC Port","href":"/arec/arec-port","docId":"arec/arec-port"}],"collapsible":true},{"type":"category","label":"How to Use","collapsed":true,"items":[{"type":"link","label":"Arkreen Console","href":"/how-to-use/arkreen-console","docId":"how-to-use/arkreen-console"},{"type":"link","label":"Arkreen Explorer","href":"/how-to-use/arkreen-explorer","docId":"how-to-use/arkreen-explorer"},{"type":"link","label":"Arkreen App","href":"/how-to-use/arkreen-app","docId":"how-to-use/arkreen-app"},{"type":"link","label":"Data Collector Installation","href":"/how-to-use/data-collector-installation","docId":"how-to-use/data-collector-installation"},{"type":"link","label":"Arkreen Smart Plug","href":"/how-to-use/smart-plug-user-guide","docId":"how-to-use/smart-plug-user-guide"}],"collapsible":true},{"type":"category","label":"Technical Details","collapsed":true,"items":[{"type":"category","label":"Proof of Green Data","collapsed":true,"items":[{"type":"link","label":"How does a Miner fulfill the Proof of Green Data task?","href":"/technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task","docId":"technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task"},{"type":"link","label":"How does Arkreen Network determine which Miner will be rewarded?","href":"/technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded","docId":"technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded"},{"type":"link","label":"How does Arkreen Network verify the trustworthiness of Proof of Green Data?","href":"/technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data","docId":"technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data"},{"type":"link","label":"How does Arkreen Network calculate the token amount that a Miner will earn?","href":"/technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn","docId":"technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn"}],"collapsible":true,"href":"/technical-details/proof-of-green-data/overview"},{"type":"link","label":"How does Plant Miner get rewards","href":"/technical-details/plant-miner-rewards","docId":"technical-details/plant-miner-rewards"},{"type":"link","label":"Electricity-generation data Storage in Filecoin","href":"/technical-details/electricity-generation-data-storage-in-filecoin","docId":"technical-details/electricity-generation-data-storage-in-filecoin"},{"type":"link","label":"Smart contract deployment","href":"/technical-details/smart-contract-deployment","docId":"technical-details/smart-contract-deployment"}],"collapsible":true},{"type":"category","label":"FAQ","collapsed":true,"items":[{"type":"link","label":"Buy Remote Miner","href":"/faq/buy-remote-miner","docId":"faq/buy-remote-miner"},{"type":"link","label":"Reward and Withdrawal","href":"/faq/reward-and-withdrawal","docId":"faq/reward-and-withdrawal"},{"type":"link","label":"Energy and Miner Status","href":"/faq/energy-and-miner-status","docId":"faq/energy-and-miner-status"},{"type":"link","label":"\\"Road to DePIN+ReFi\\" Campaign","href":"/faq/road-to-depin-refi-campaign","docId":"faq/road-to-depin-refi-campaign"},{"type":"link","label":"AREC FAQs","href":"/faq/arec-faq","docId":"faq/arec-faq"}],"collapsible":true}]},"docs":{"arec/arec-assets":{"id":"arec/arec-assets","title":"Arkreen Ecosystem Assets","description":"In the Arkreen ecosystem, there are several kinds of digital assets:","sidebar":"ArkreenSidebar"},"arec/arec-badge":{"id":"arec/arec-badge","title":"How to Mint Retirement Badge","description":"The climate actor may freely mint the carbon retirement badge based on the climate actions created by redeeming AREC NFTs or offsetting ART tokens. The climate action is only effective once to mint the climate badge. Some information, such as the retirement entity, retirement beneficiary, and retirement supplementary remarks can be recorded in the retirement badge. With this badge, you could demonstrate your contribution to protecting our Planet and make that verifiable for governmental agencies, administrative departments, or other 3rd parties.","sidebar":"ArkreenSidebar"},"arec/arec-bridge":{"id":"arec/arec-bridge","title":"AREC Bridge","description":"In addition to issuing AREC based on renewable energy generation proof sourced from the Arkreen network, the AREC Dapp goes a step further by offering support for the issuance of AREC assets using classic REC assets like I-REC, TIGR, Green-e, and others. This unique capability, called as the AREC bridge feature, enables the seamless integration of traditional RECs from the physical world into the innovative Web3 ecosystem.","sidebar":"ArkreenSidebar"},"arec/arec-dapp":{"id":"arec/arec-dapp","title":"AREC Dapp","description":"AREC DApp is the one-stop AREC service access entrypoint for the Arkreen community members to manage AREC related assets. It relies on multiple smart contracts deployed on the blockchain to provide services around AREC, including: issuing AREC, redeeming AREC,liquidizing AREC to ART, offsetting ART, solidifying ART to AREC, buying ART and minting Arkreen badge.","sidebar":"ArkreenSidebar"},"arec/arec-dex":{"id":"arec/arec-dex","title":"arec-dex","description":"Arkreen DEX will come soon.","sidebar":"ArkreenSidebar"},"arec/arec-overview":{"id":"arec/arec-overview","title":"AREC Overview","description":"AREC, Arkreen Renewable Energy Certificate, is the REC issued on the basis of the renewable energy generation proof sourcing from the Arkreen Network. With the help of high efficiency and amazing composability of the Web3 technology, AREC targets to be the fundamental financial instrument to gear up the global carbon emission reduction progress.","sidebar":"ArkreenSidebar"},"arec/arec-port":{"id":"arec/arec-port","title":"AREC Port","description":"The standard process of utilizing AREC (Arkreen Renewable Energy Certificate) to offset one\'s energy consumption is as follows: purchase and redeem AREC NFTs to commit climate actions, or buy and offset ART tokens to commit climate actions. Then, based on the climate action(s), mint a climate badge, which may serve as proof of carbon neutrality for the badge beneficiary.","sidebar":"ArkreenSidebar"},"arec/arec-profile":{"id":"arec/arec-profile","title":"AREC Asset Profile","description":"This is the first page while you visit the AREC Dapp. Two level of AREC assets are displayed in two separate sub-pages:","sidebar":"ArkreenSidebar"},"arec/arec-quickstart":{"id":"arec/arec-quickstart","title":"AREC Quick Start","description":"Follow these steps to seamlessly mint ART tokens from green energy generation.","sidebar":"ArkreenSidebar"},"arec/art-token":{"id":"arec/art-token","title":"ART Token","description":"ART tokens are minted while an AREC NFT is liquidized by the user. Liquidization is the process in which the user transfers the owned AREC NFT to the ART smart contract, the AREC NFT is set to Liquidized state, and the exact same amount of ART tokens as the amount of the RE output in the liquidized AREC NFT are minted to the user\'s account.","sidebar":"ArkreenSidebar"},"arec/climate-actors":{"id":"arec/climate-actors","title":"AREC Climate Actors","description":"There are two breeds of distinguished climate actors within the Arkreen ecosystem: renewable energy generators and climate actors.","sidebar":"ArkreenSidebar"},"arec/climate-badge":{"id":"arec/climate-badge","title":"Climate Badge","description":"The Climate badge is minted based on one or more climate actions created during the process of redeeming AREC NFTs or offsetting ART tokens. Each climate badge contains comprehensive retirement information. With this data, it becomes possible to trace back and identify all the original AREC NFTs that were retired to create the badge. This detailed record-keeping feature ensures transparency and accountability for the climate actions associated with the badge.","sidebar":"ArkreenSidebar"},"arec/issue-arec":{"id":"arec/issue-arec","title":"How to issue an AREC","description":"To issue an AREC, you need to be running one or more miners, and have already generated some renewable energy.","sidebar":"ArkreenSidebar"},"arec/liquidize-arec":{"id":"arec/liquidize-arec","title":"How to Liquidize an AREC NFT","description":"Liquidizing an AREC NFT means setting the AREC NFT to the Liquidized state, and minting some amount of ART, the Arkreen Renewable-Energy Token, to the owner\'s wallet. The newly minted amount of ART is exactly the same as the amount of the RE conveyed by the liquidized AREC.","sidebar":"ArkreenSidebar"},"arec/offset-art":{"id":"arec/offset-art","title":"How to Offset ART","description":"Offsetting ART means burning your ART tokens to create a climate action. Climate action is a record in the blockchain, which stores all the carbon offset relative information, such as owner of the action, RE amount in the action, AREC NFT ID linked to this action, etc.","sidebar":"ArkreenSidebar"},"arec/redeem-arec":{"id":"arec/redeem-arec","title":"How to redeem the AREC","description":"Redeeming AREC means setting the AREC NFT into the Retired state. The lifecycle of the AREC NFT is thus Retired, and permanently terminated from usage ever again","sidebar":"ArkreenSidebar"},"ecomodel/ecomodel_overview":{"id":"ecomodel/ecomodel_overview","title":"Economic Model","description":"As a Web3-enabled data network for distributed renewable energy resources (DERs), the essential economic model of Arkreen is a commission fee based model.","sidebar":"ArkreenSidebar"},"faq/arec-faq":{"id":"faq/arec-faq","title":"AREC FAQs","description":"Q1: I tried AREC Quick Start in 2 browsers (or 2 computers/cellphones). The 2 browsers show inconsistent information or get stuck when issuing ART. How can I deal with it?","sidebar":"ArkreenSidebar"},"faq/buy-remote-miner":{"id":"faq/buy-remote-miner","title":"Buy Remote Miner","description":"Q1: What is the difference between a Remote Miner and a Standard Miner?","sidebar":"ArkreenSidebar"},"faq/energy-and-miner-status":{"id":"faq/energy-and-miner-status","title":"Energy and Miner Status","description":"Q1: I just purchased a Remote Miner. Why does it report zero power in the past a few hours?","sidebar":"ArkreenSidebar"},"faq/order-standard-miner":{"id":"faq/order-standard-miner","title":"Order A Standard Miner","description":"Q1: How can I order a Standard Miner?"},"faq/reward-and-withdrawal":{"id":"faq/reward-and-withdrawal","title":"Reward and Withdrawal","description":"Q1: I see reward in the dashboard, but why does my Metamask display no reward token at all?","sidebar":"ArkreenSidebar"},"faq/road-to-depin-refi-campaign":{"id":"faq/road-to-depin-refi-campaign","title":"\\"Road to DePIN+ReFi\\" Campaign","description":"Q1: What is \\"Road to DePIN+ReFi\\" Campaign?","sidebar":"ArkreenSidebar"},"governance/arkreen-mariners":{"id":"governance/arkreen-mariners","title":"Arkreen Mariners","description":"Based on the principles of decentralization, efficiency and security, the Arkreen Network construction team will include a core team and a community team. The core team will be responsible for the construction of the core functions of the Arkreen network and the early establishment and operation of the foundation. The community team will be responsible for network technology, applications, cooperation, community, media and other tasks. The network construction principles include : how the funded team will assume corresponding responsibilities; how the construction content and sponsorship usage details are disclosed in a completely transparent manner; how the construction team is supervised by the foundation and the community; how network construction adopts a token-based governance decision-making model.","sidebar":"ArkreenSidebar"},"governance/community-owned":{"id":"governance/community-owned","title":"Community Owned","description":"Arkreen will adopt a DAO (foundation) governance model","sidebar":"ArkreenSidebar"},"governance/governance-overview":{"id":"governance/governance-overview","title":"Governance Overview","description":"As a DAO (decentralized autonomous organization) based on the intersection of clean energy (public attributes) and our evolving digital economy, Arkreen\'s governance model and economic model refer to a country\'s historical experience and lavishly draws on the wisdom of our predecessors.","sidebar":"ArkreenSidebar"},"governance/voting":{"id":"governance/voting","title":"Voting","description":"During early stages, voting will be for (1) selecting accredited governance committee member to participate in network governance; (2) voting on matters that AIP cannot work. After the network has matured (expected in 3-5 years), we will transition to a pure on-chain voting model in stages. The specific vote will be for (1)(2) as mentioned above, and (3) to initiate, support or modify a proposal under the premise that the approval rate reaches 1%.","sidebar":"ArkreenSidebar"},"how-to-use/arkreen-app":{"id":"how-to-use/arkreen-app","title":"Arkreen App","description":"TBD","sidebar":"ArkreenSidebar"},"how-to-use/arkreen-console":{"id":"how-to-use/arkreen-console","title":"Arkreen Console","description":"Arkreen Console","sidebar":"ArkreenSidebar"},"how-to-use/arkreen-explorer":{"id":"how-to-use/arkreen-explorer","title":"Arkreen Explorer","description":"Arkreen Explorer","sidebar":"ArkreenSidebar"},"how-to-use/data-collector-installation":{"id":"how-to-use/data-collector-installation","title":"Data Collector Installation","description":"If you are interested in connecting your existing solar PV system to Arkreen Network, please fill in the form below:","sidebar":"ArkreenSidebar"},"how-to-use/green-btc":{"id":"how-to-use/green-btc","title":"Green BTC Club","description":"Bitcoin mining plays a crucial role in maintaining the security and integrity of the Bitcoin network. It also consumes a significant amount of energy, and much of that energy comes from non-renewable sources like coal and natural gas. According to the Cambridge Bitcoin Electricity Consumption Index, Bitcoin\'s estimated annual electricity consumption in the year of 2022 is around 107 TWh (terawatt hours), which is more than the entire energy consumption of some countries."},"how-to-use/smart-plug-user-guide":{"id":"how-to-use/smart-plug-user-guide","title":"User Guide for Arkreen Smart Plug","description":"How to Participate?","sidebar":"ArkreenSidebar"},"nft/miner-nft":{"id":"nft/miner-nft","title":"Miner NFT","description":"An NFT will be minted for every miner.","sidebar":"ArkreenSidebar"},"overview/arkreen-network-vision":{"id":"overview/arkreen-network-vision","title":"Arkreen Network Vision","description":"Arkreen Network Vision","sidebar":"ArkreenSidebar"},"overview/background-and-the-pain-points":{"id":"overview/background-and-the-pain-points","title":"The Pain Points to Resolve","description":"Carbon neutrality is one of the biggest challenges facing mankind in the 21st century. Among the most significant contributors to global GreenHouse Gas (GHG) emissions is carbon dioxide (CO2) emitted by power generation, accounting for around 30% of the total global greenhouse gas emissions (EPA: Sources of Greenhouse Gas Emissions).","sidebar":"ArkreenSidebar"},"overview/miner/consumption/plug-miner":{"id":"overview/miner/consumption/plug-miner","title":"Consumption Plug Miner","description":"In addition to Energy Generation Category, a new Energy Consumption Category is introduced, which includes a new formfactor Consumption Plug Miner as one of its components. A smart plug can calculate how much energy an electrical appliance consumes as well as schedule the power supply remotely. The users could power up their appliances (e.g. air conditioner) by the smart plug to participate in the green actions.","sidebar":"ArkreenSidebar"},"overview/miner/generation/gaming-miner":{"id":"overview/miner/generation/gaming-miner","title":"Obsoleted: Gaming Miner","description":"Gaming Miner is NOT applicable since Phase 1. The information is for archive only.","sidebar":"ArkreenSidebar"},"overview/miner/generation/lite-remote-miner":{"id":"overview/miner/generation/lite-remote-miner","title":"Lite Remote Miner","description":"A Lite Remote Miner is a special type of Remote Miner, which is for airdropping purpose. Lite Remote Miner has different rated capacity and lifespan from the conventional Remote Miner. The default capacity and lifespan are 5 Watt for 3 months.","sidebar":"ArkreenSidebar"},"overview/miner/generation/plant-miner":{"id":"overview/miner/generation/plant-miner","title":"Plant Miner","description":"A Plant Miner is a collection of energy data from a physical green energy generation facility, to feed Remote Miners. The energy facility is connected to an IoT device that collects energy generation data. The collected data is fractionized to feed several Remote Miners as if these Remote Miners were generating the energy.","sidebar":"ArkreenSidebar"},"overview/miner/generation/remote-miner":{"id":"overview/miner/generation/remote-miner","title":"Remote Miner","description":"A Remote Miner is a fractional miner running remotely. Every Remote Miner binds to an green energy generation facility (e.g. solar photovoltaic plant). The energy facility is connected to an IoT device that collects energy generation data. The collected data is fractionized to feed several Remote Miners as if these Remote Miners were generating the energy. Unless explicitly stated, Remote Miner\'s default capacity is 100 Watt (0.1kW) and its default lifespan is 1-year subscription since it\'s purchased.","sidebar":"ArkreenSidebar"},"overview/miner/generation/standard-miner":{"id":"overview/miner/generation/standard-miner","title":"Standard Miner","description":"A Standard Miner is a collection of energy data from a physical green energy generation facility. It\'s similar to a Plant Miner. Both of them acquire green energy data from physical energy facilities. The difference is, a Standard Miner gets rewards directly on the basis of how much energy it generates, with a normalization method that regularizes the reward weight. Note that the normalization method leads to a non-linear reward curve that higher power above a threshold contributes to less rewards. A Standard Miner NFT will be minted per each Standard Miner upon miner on-boarding.","sidebar":"ArkreenSidebar"},"overview/miner/README":{"id":"overview/miner/README","title":"Arkreen Miner","description":"Energy Generation Category","sidebar":"ArkreenSidebar"},"overview/pillar-applications":{"id":"overview/pillar-applications","title":"Pillar Applications","description":"Generation of Renewable Energy Certificates","sidebar":"ArkreenSidebar"},"programs/community-solar-program":{"id":"programs/community-solar-program","title":"Community Solar Program","description":"Objective","sidebar":"ArkreenSidebar"},"programs/csp-payment-safeguard-plan":{"id":"programs/csp-payment-safeguard-plan","title":"CSP Payment Safeguard Plan: Immediate Rewards Guaranteed for Enhanced User Experience!","description":"Thank you for choosing CSP products and becoming part of the Arkreen family. We understand the urgency to swiftly participate in climate action and achieve \'impact to earn\' after payment. Additionally, we are committed to minimizing any potential logistic delays during the initial launch of CSP hardware sales in new countries or regions not included in the trial phase."},"programs/README":{"id":"programs/README","title":"Arkreen Community Programs","description":"Arkreen Community Programs are special programs that encourage people to participate in and co-build the network.","sidebar":"ArkreenSidebar"},"programs/referral-program":{"id":"programs/referral-program","title":"A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards","description":"Background","sidebar":"ArkreenSidebar"},"quick-start/arkreen-newcomer-guide/claim-referral-gift":{"id":"quick-start/arkreen-newcomer-guide/claim-referral-gift","title":"Claim Referral Gift - Lite Remote Miners Free Gift","description":"For each person who purchases a remote miner through your referral link, you\'ll receive a Lite Remote Miner as a gift. Take action now and build your exclusive Arkreen network!","sidebar":"ArkreenSidebar"},"quick-start/arkreen-newcomer-guide/lite-miners-gift":{"id":"quick-start/arkreen-newcomer-guide/lite-miners-gift","title":"100 Lite Remote Miners Free Gift","description":"Follow our guide through four-step missions. Each step you complete unlocks a corresponding amount of Lite Remote Miner gifts.","sidebar":"ArkreenSidebar"},"quick-start/arkreen-newcomer-guide/README":{"id":"quick-start/arkreen-newcomer-guide/README","title":"Arkreen Newcomer Guide","description":"Step1: Get Your First Arkreen Miner","sidebar":"ArkreenSidebar"},"quick-start/mainnet-transition":{"id":"quick-start/mainnet-transition","title":"Arkreen Mainnet Transition","description":"We\'re excited to announce the launch of Arkreen Mainnet, featuring an airdrop, a tAKRE to AKRE conversion plan, token holder governance, and an on-chain Arkreen Miners migration strategy.","sidebar":"ArkreenSidebar"},"quick-start/smart-plug-quick-start":{"id":"quick-start/smart-plug-quick-start","title":"Arkreen Smart Plug Quick Start","description":"Note: Smart Plug is under white-list test.","sidebar":"ArkreenSidebar"},"quick-start/staking-guide":{"id":"quick-start/staking-guide","title":"Arkreen Staking Guide","description":"1. Withdrawing AKRE","sidebar":"ArkreenSidebar"},"README":{"id":"README","title":"What is Arkreen Network","description":"Arkreen is the combination of Ark and (g)reen, meaning an ark aggregating and carrying green energy data to the future.","sidebar":"ArkreenSidebar"},"roadmap/phase0":{"id":"roadmap/phase0","title":"Phase 0","description":"Phase 0 is the first phase for the development and user early experience purposes.","sidebar":"ArkreenSidebar"},"roadmap/phase1":{"id":"roadmap/phase1","title":"Phase 1","description":"The Phase 1 period commences the first applicable phase of Arkreen Network which is fed with real energy data, to support the uplink data aggregation.","sidebar":"ArkreenSidebar"},"roadmap/phase2":{"id":"roadmap/phase2","title":"Phase 2","description":"The Phase 2 period represents an expanded stage for the Arkreen Network mainnet to support bi-directional data/control aggregation for more scenarios.","sidebar":"ArkreenSidebar"},"roadmap/phase3":{"id":"roadmap/phase3","title":"Phase 3","description":"The Phase 3 period will allow for a thriving sub-DAO driven ecosystem to flourish for DERs and decarbonization. As more and more energy prosumers are connected, the Arkreen Network is anticipated to metamorphosize into a sub-DAO community. Participants in various sectors are self-organized to build up climate+crypto solutions. For Climate change advocates, a thriving Regenerative Finance (ReFi) ecosystem of players are expected to monetize energy network data and help Arkreen Network flourish.","sidebar":"ArkreenSidebar"},"roadmap/roadmap-overview":{"id":"roadmap/roadmap-overview","title":"Roadmap Overview","description":"Arkreen Network is built by integrating IoT, AI, blockchain and token economy. Each of them is a big topic. In today\u2019s trivergent environment, the physical and digital worlds meshing together is a gamer changer that allows Arkreen Network to be built into a unique visionary product offering!","sidebar":"ArkreenSidebar"},"technical-details/electricity-generation-data-storage-in-filecoin":{"id":"technical-details/electricity-generation-data-storage-in-filecoin","title":"Electricity-generation data Storage in Filecoin","description":"Many decentralized global infrastructure platforms, such as Arkreen Network, that combine crypto-economic incentives, blockchain, and the Internet of Things (IoT), convergent solutions together have a singular opportunity to promote collective action toward mitigating carbon emissions, demonstrate industry-wide decarbonization, and stimulate new demand for clean energy resources. Arkreen is a web-3 decentralized global resource energy distribution platform built on the Polygon blockchain network and powered by Filecoin green storage to enable the interconnection and monetization of distributed energy resources for carbon reduction applications.","sidebar":"ArkreenSidebar"},"technical-details/plant-miner-rewards":{"id":"technical-details/plant-miner-rewards","title":"How does Plant Miner get rewards?","description":"Unlike other miners in the Energy Generation Category, Plant Miner\'s rewards are not directly calculated from the energy it generates. Instead, the rewards a Plant Miner gets are proportional to the rewards the Remote Miners (fed by this Plant Miner) get. The reward pool for Plant Miner is separate from the other miners\'.","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task":{"id":"technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task","title":"How does a Miner fulfill the Proof of Green Data task?","description":"The Arkreen Network rewards Miners who consistently report high-quality green energy data. All Miners connected to the Arkreen Network need to sample data every 5 minutes and buffer it locally for 1 hour, and report all the buffered data every 1 hour. After the Miner reports this data, it can clear the local data buffer and prepare for the next data report. The green energy data that each miner will sample includes the following below:","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn":{"id":"technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn","title":"How does Arkreen Network calculate the token amount that a Miner will earn?","description":"Arkreen Network distributes the reward to the miners (except for Plant Miner) according to the trustworthiness of green energy generation data, the normalized quantity of data and the normalized volume of energy, the detailed calculation process is as follows.","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded":{"id":"technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded","title":"How does Arkreen Network determine which Miner will be rewarded?","description":"Every miner has a chance to earn the Proof of Green Data reward about every K epochs, where currently K=2. In the first block of every epoch, Arkreen Network will generate a key pair, and publish the public key (verifiable random number). In the first block of the next epoch, Arkreen Network will use the private key of the key pair to decide the miners that will be rewarded and publish the private key (verifiable evidence). The decision process flow is listed hereunder:","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data":{"id":"technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data","title":"How does Arkreen Network verify the trustworthiness of Proof of Green Data?","description":"In order to avoid miners reporting fake power generation data to the network, Arkreen Network uses a set of novel methods for data authenticity judgment. The exact method depends on the category of the miners.","sidebar":"ArkreenSidebar"},"technical-details/proof-of-green-data/overview":{"id":"technical-details/proof-of-green-data/overview","title":"Proof of Green Data and Reward Distribution","description":"The Arkreen Network uses a set of novel algorithms called Proof of Green Data to monitor Arkreen Network\u2019s green energy generation, consumption and storage. All miners who correctly fulfill the Proof of Green Data tasks will be rewarded. The Proof of Green Data helps the Arkreen Network measure its generation, consumption and storage capacity, which is the basis for the network to provide green energy data asset related services.","sidebar":"ArkreenSidebar"},"technical-details/smart-contract-deployment":{"id":"technical-details/smart-contract-deployment","title":"Smart Contract Deployment","description":"Arkreen ecosystem includes several renewable energy certificate supply-demand sides, specifically the Arkreen Miner, the Arkren AREC issuance and tokenization protocol, the AREC bridge protocol, the GreenBTC club, and etc. The core features of these applications are all underpinned by on-chain smart contracts.","sidebar":"ArkreenSidebar"},"token/network-primitives":{"id":"token/network-primitives","title":"Network Primitives","description":"Epochs","sidebar":"ArkreenSidebar"},"token/token-distribution":{"id":"token/token-distribution","title":"Token Distribution","description":"Overall Token Distribution","sidebar":"ArkreenSidebar"},"token/what-is-akre":{"id":"token/what-is-akre","title":"What is AKRE?","description":"AKRE (Arkreen Token) is the ERC-20 cryptocurrency and protocol token for the Arkreen Network. Its symbol is AKRE. The token can either be distributed as a reward to contributors who help build and maintain the Arkreen Network, and can also be used to pay Arkreen Network transaction fees and external entity payments for using the green energy data service provided by the Arkreen Network. The maximum supply of AKRE is 10,000,000,000 (10 billion). All AKRE of the Arkreen Network will be distributed to relevant contributors in batches according to the progress of network construction.","sidebar":"ArkreenSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/b955a38e.a4610b4d.js b/assets/js/b955a38e.4ed32bf5.js similarity index 59% rename from assets/js/b955a38e.a4610b4d.js rename to assets/js/b955a38e.4ed32bf5.js index f6bb1662..69d4c9ea 100644 --- a/assets/js/b955a38e.a4610b4d.js +++ b/assets/js/b955a38e.4ed32bf5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkarkreen_docs=self.webpackChunkarkreen_docs||[]).push([[9775],{5680:(e,r,n)=>{n.d(r,{xA:()=>p,yg:()=>d});var t=n(6540);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function a(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function c(e){for(var r=1;r=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=t.createContext({}),l=function(e){var r=t.useContext(s),n=r;return e&&(n="function"==typeof e?e(r):c(c({},r),e)),n},p=function(e){var r=l(e.components);return t.createElement(s.Provider,{value:r},e.children)},u="mdxType",v={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},m=t.forwardRef((function(e,r){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=l(n),m=o,d=u["".concat(s,".").concat(m)]||u[m]||v[m]||a;return n?t.createElement(d,c(c({ref:r},p),{},{components:n})):t.createElement(d,c({ref:r},p))}));function d(e,r){var n=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=n.length,c=new Array(a);c[0]=m;var i={};for(var s in r)hasOwnProperty.call(r,s)&&(i[s]=r[s]);i.originalType=e,i[u]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{n.r(r),n.d(r,{assets:()=>s,contentTitle:()=>c,default:()=>v,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var t=n(8168),o=(n(6540),n(5680));const a={},c="Governance Overview",i={unversionedId:"governance/governance-overview",id:"governance/governance-overview",title:"Governance Overview",description:"As a DAO (decentralized autonomous organization) based on the intersection of clean energy (public attributes) and our evolving digital economy, Arkreen's governance model and economic model refer to a country's historical experience and lavishly draws on the wisdom of our predecessors.",source:"@site/docs/governance/governance-overview.md",sourceDirName:"governance",slug:"/governance/governance-overview",permalink:"/governance/governance-overview",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"ArkreenSidebar",previous:{title:"A User Guide to Arkreen Referral Program: Crafting Your Arkreen Referral Link for Rewards",permalink:"/programs/referral-program"},next:{title:"Community Owned",permalink:"/governance/community-owned"}},s={},l=[],p={toc:l},u="wrapper";function v(e){let{components:r,...n}=e;return(0,o.yg)(u,(0,t.A)({},p,n,{components:r,mdxType:"MDXLayout"}),(0,o.yg)("h1",{id:"governance-overview"},"Governance Overview"),(0,o.yg)("p",null,"As a DAO (decentralized autonomous organization) based on the intersection of clean energy (public attributes) and our evolving digital economy, Arkreen's governance model and economic model refer to a country's historical experience and lavishly draws on the wisdom of our predecessors."),(0,o.yg)("p",null,"What we refer to as the ",(0,o.yg)("strong",{parentName:"p"},"governance system")," means a modern national governance model, adopting a system combining a people's congress, delegate, and committee structure, just like what a16z points out in the article ",(0,o.yg)("a",{parentName:"p",href:"https://a16zcrypto.com/lightspeed-democracy-what-web3-organizations-can-learn-from-the-history-of-governance"},"Lightspeed Democracy: What web3 organizations can learn from the history of governance"),"."))}v.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkarkreen_docs=self.webpackChunkarkreen_docs||[]).push([[9775],{5680:(e,r,n)=>{n.d(r,{xA:()=>p,yg:()=>m});var t=n(6540);function o(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function a(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function c(e){for(var r=1;r=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=t.createContext({}),l=function(e){var r=t.useContext(s),n=r;return e&&(n="function"==typeof e?e(r):c(c({},r),e)),n},p=function(e){var r=l(e.components);return t.createElement(s.Provider,{value:r},e.children)},u="mdxType",v={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},g=t.forwardRef((function(e,r){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=l(n),g=o,m=u["".concat(s,".").concat(g)]||u[g]||v[g]||a;return n?t.createElement(m,c(c({ref:r},p),{},{components:n})):t.createElement(m,c({ref:r},p))}));function m(e,r){var n=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=n.length,c=new Array(a);c[0]=g;var i={};for(var s in r)hasOwnProperty.call(r,s)&&(i[s]=r[s]);i.originalType=e,i[u]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{n.r(r),n.d(r,{assets:()=>s,contentTitle:()=>c,default:()=>v,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var t=n(8168),o=(n(6540),n(5680));const a={},c="Governance Overview",i={unversionedId:"governance/governance-overview",id:"governance/governance-overview",title:"Governance Overview",description:"As a DAO (decentralized autonomous organization) based on the intersection of clean energy (public attributes) and our evolving digital economy, Arkreen's governance model and economic model refer to a country's historical experience and lavishly draws on the wisdom of our predecessors.",source:"@site/docs/governance/governance-overview.md",sourceDirName:"governance",slug:"/governance/governance-overview",permalink:"/governance/governance-overview",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"ArkreenSidebar",previous:{title:"Plug for Green Program",permalink:"/programs/plug-for-green-program"},next:{title:"Community Owned",permalink:"/governance/community-owned"}},s={},l=[],p={toc:l},u="wrapper";function v(e){let{components:r,...n}=e;return(0,o.yg)(u,(0,t.A)({},p,n,{components:r,mdxType:"MDXLayout"}),(0,o.yg)("h1",{id:"governance-overview"},"Governance Overview"),(0,o.yg)("p",null,"As a DAO (decentralized autonomous organization) based on the intersection of clean energy (public attributes) and our evolving digital economy, Arkreen's governance model and economic model refer to a country's historical experience and lavishly draws on the wisdom of our predecessors."),(0,o.yg)("p",null,"What we refer to as the ",(0,o.yg)("strong",{parentName:"p"},"governance system")," means a modern national governance model, adopting a system combining a people's congress, delegate, and committee structure, just like what a16z points out in the article ",(0,o.yg)("a",{parentName:"p",href:"https://a16zcrypto.com/lightspeed-democracy-what-web3-organizations-can-learn-from-the-history-of-governance"},"Lightspeed Democracy: What web3 organizations can learn from the history of governance"),"."))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.35487b74.js b/assets/js/main.35487b74.js deleted file mode 100644 index b970be85..00000000 --- a/assets/js/main.35487b74.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.35487b74.js.LICENSE.txt */ -(self.webpackChunkarkreen_docs=self.webpackChunkarkreen_docs||[]).push([[8792],{8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(6540),a=n(8168),o=n(3259),i=n.n(o),l=n(4054);const s={"00204c3c":[()=>n.e(9156).then(n.bind(n,2469)),"@site/docs/faq/order-standard-miner.md",2469],"0d094c9c":[()=>n.e(5857).then(n.bind(n,9388)),"@site/docs/how-to-use/smart-plug-user-guide.md",9388],"0ff3482e":[()=>n.e(9355).then(n.bind(n,1459)),"@site/docs/technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn.md",1459],"103a6b90":[()=>n.e(4623).then(n.bind(n,249)),"@site/docs/arec/art-token.md",249],"12dbed97":[()=>n.e(3887).then(n.bind(n,8431)),"@site/docs/technical-details/smart-contract-deployment.md",8431],17896441:[()=>Promise.all([n.e(1869),n.e(8401)]).then(n.bind(n,9297)),"@theme/DocItem",9297],"17fe7cef":[()=>n.e(4603).then(n.bind(n,3252)),"@site/docs/technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data.md",3252],"1b63e626":[()=>n.e(6806).then(n.bind(n,6616)),"@site/docs/how-to-use/data-collector-installation.md",6616],"1be78505":[()=>Promise.all([n.e(1869),n.e(8714)]).then(n.bind(n,10)),"@theme/DocPage",10],"1cd96776":[()=>n.e(6688).then(n.bind(n,2099)),"@site/docs/how-to-use/arkreen-explorer.md",2099],"21004fd2":[()=>n.e(7576).then(n.bind(n,320)),"@site/docs/arec/redeem-arec.md",320],"21dfee7a":[()=>n.e(1756).then(n.bind(n,3383)),"@site/docs/quick-start/staking-guide.md",3383],22257924:[()=>n.e(790).then(n.bind(n,5520)),"@site/docs/faq/reward-and-withdrawal.md",5520],"23374ca6":[()=>n.e(2278).then(n.bind(n,3502)),"@site/docs/README.md",3502],"250a0488":[()=>n.e(4637).then(n.bind(n,7895)),"@site/docs/arec/arec-bridge.md",7895],"2b390bd1":[()=>n.e(2196).then(n.bind(n,710)),"@site/docs/faq/energy-and-miner-status.md",710],"30cd011b":[()=>n.e(4335).then(n.bind(n,4823)),"@site/docs/technical-details/plant-miner-rewards.md",4823],"32c92581":[()=>n.e(3762).then(n.bind(n,7779)),"@site/docs/overview/miner/generation/remote-miner.md",7779],"32f10b9d":[()=>n.e(2626).then(n.bind(n,5301)),"@site/docs/arec/climate-badge.md",5301],"34a811bd":[()=>n.e(8057).then(n.bind(n,9033)),"@site/docs/how-to-use/arkreen-app.md",9033],"425367e4":[()=>n.e(8539).then(n.bind(n,2100)),"@site/docs/programs/referral-program.md",2100],"46d13f96":[()=>n.e(9018).then(n.bind(n,6912)),"@site/docs/overview/miner/generation/standard-miner.md",6912],"49bae337":[()=>n.e(8307).then(n.bind(n,3334)),"@site/docs/overview/arkreen-network-vision.md",3334],"4f847d0c":[()=>n.e(2019).then(n.bind(n,5304)),"@site/docs/overview/miner/generation/gaming-miner.md",5304],"5be670f6":[()=>n.e(6466).then(n.bind(n,2240)),"@site/docs/token/token-distribution.md",2240],"63a8f2ea":[()=>n.e(9955).then(n.bind(n,1732)),"@site/docs/quick-start/arkreen-newcomer-guide/README.md",1732],"64bb6127":[()=>n.e(9363).then(n.bind(n,4273)),"@site/docs/roadmap/phase3.md",4273],"650a69ce":[()=>n.e(9970).then(n.bind(n,516)),"@site/docs/roadmap/phase0.md",516],"6a58f360":[()=>n.e(5248).then(n.bind(n,7418)),"@site/docs/programs/csp-payment-safeguard-plan.md",7418],"6c20ad9d":[()=>n.e(9332).then(n.bind(n,3279)),"@site/docs/arec/arec-badge.md",3279],"6d69c247":[()=>n.e(326).then(n.bind(n,1952)),"@site/docs/technical-details/proof-of-green-data/overview.md",1952],"6dddaeda":[()=>n.e(3618).then(n.bind(n,6527)),"@site/docs/token/what-is-akre.md",6527],"71f713bf":[()=>n.e(8570).then(n.bind(n,7068)),"@site/docs/overview/miner/generation/lite-remote-miner.md",7068],"7367d210":[()=>n.e(2461).then(n.bind(n,7499)),"@site/docs/quick-start/mainnet-transition.md",7499],"773b9e76":[()=>n.e(5795).then(n.bind(n,2882)),"@site/docs/programs/community-solar-program.md",2882],"7e589979":[()=>n.e(6478).then(n.bind(n,1063)),"@site/docs/nft/miner-nft.md",1063],"82f205d6":[()=>n.e(8622).then(n.bind(n,6846)),"@site/docs/faq/buy-remote-miner.md",6846],"86c68976":[()=>n.e(7440).then(n.bind(n,1389)),"@site/docs/ecomodel/ecomodel_overview.md",1389],"86f219d5":[()=>n.e(4026).then(n.bind(n,4616)),"@site/docs/overview/miner/README.md",4616],"898658f9":[()=>n.e(8272).then(n.bind(n,6265)),"@site/docs/overview/background-and-the-pain-points.md",6265],"8d23a7c4":[()=>n.e(3347).then(n.bind(n,8528)),"@site/docs/how-to-use/green-btc.md",8528],"8da94550":[()=>n.e(1911).then(n.bind(n,7771)),"@site/docs/arec/issue-arec.md",7771],"8daed8f3":[()=>n.e(1100).then(n.bind(n,9475)),"@site/docs/how-to-use/arkreen-console.md",9475],"8e17db5d":[()=>n.e(7079).then(n.bind(n,9068)),"@site/docs/overview/miner/generation/plant-miner.md",9068],"9285a465":[()=>n.e(7315).then(n.bind(n,9642)),"@site/docs/faq/road-to-depin-refi-campaign.md",9642],"935f2afb":[()=>n.e(8581).then(n.t.bind(n,5610,19)),"~docs/default/version-current-metadata-prop-751.json",5610],"9392a823":[()=>n.e(2512).then(n.bind(n,5483)),"@site/docs/arec/arec-quickstart.md",5483],"98e15546":[()=>n.e(5446).then(n.bind(n,1109)),"@site/docs/arec/arec-dapp.md",1109],"9a4b2030":[()=>n.e(8e3).then(n.bind(n,2720)),"@site/docs/overview/miner/consumption/plug-miner.md",2720],"9d223f2d":[()=>n.e(4341).then(n.bind(n,658)),"@site/docs/roadmap/phase2.md",658],a0537bb8:[()=>n.e(8133).then(n.bind(n,1321)),"@site/docs/technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded.md",1321],abc17d3b:[()=>n.e(1896).then(n.bind(n,4121)),"@site/docs/arec/arec-dex.md",4121],ae2122ad:[()=>n.e(5253).then(n.bind(n,9724)),"@site/docs/technical-details/electricity-generation-data-storage-in-filecoin.md",9724],b34ca6cf:[()=>n.e(6519).then(n.bind(n,1189)),"@site/docs/arec/arec-profile.md",1189],b4ec886f:[()=>n.e(7417).then(n.bind(n,9961)),"@site/docs/token/network-primitives.md",9961],b955a38e:[()=>n.e(9775).then(n.bind(n,9927)),"@site/docs/governance/governance-overview.md",9927],c0381ebc:[()=>n.e(3080).then(n.bind(n,5580)),"@site/docs/governance/voting.md",5580],c3828a71:[()=>n.e(690).then(n.bind(n,5521)),"@site/docs/arec/offset-art.md",5521],c7836fe6:[()=>n.e(9391).then(n.bind(n,271)),"@site/docs/quick-start/arkreen-newcomer-guide/claim-referral-gift.md",271],c999cb8b:[()=>n.e(2184).then(n.bind(n,1117)),"@site/docs/roadmap/roadmap-overview.md",1117],c9b1b4ae:[()=>n.e(8664).then(n.bind(n,6768)),"@site/docs/quick-start/smart-plug-quick-start.md",6768],d17ce430:[()=>n.e(9078).then(n.bind(n,1902)),"@site/docs/quick-start/arkreen-newcomer-guide/lite-miners-gift.md",1902],d73c74b4:[()=>n.e(3117).then(n.bind(n,6866)),"@site/docs/technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task.md",6866],db40df0a:[()=>n.e(3054).then(n.bind(n,4687)),"@site/docs/governance/arkreen-mariners.md",4687],e32f5a22:[()=>n.e(2169).then(n.bind(n,8488)),"@site/docs/overview/pillar-applications.md",8488],e5a35388:[()=>n.e(6809).then(n.bind(n,2542)),"@site/docs/programs/README.md",2542],e8e15f3c:[()=>n.e(2757).then(n.bind(n,9045)),"@site/docs/arec/arec-overview.md",9045],f4f1ece5:[()=>n.e(6228).then(n.bind(n,3478)),"@site/docs/arec/climate-actors.md",3478],f6aacbda:[()=>n.e(3099).then(n.bind(n,5823)),"@site/docs/arec/arec-assets.md",5823],f742def9:[()=>n.e(8470).then(n.bind(n,9307)),"@site/docs/roadmap/phase1.md",9307],f815df35:[()=>n.e(9677).then(n.t.bind(n,1966,19)),"/home/runner/work/ArkreenDocs/ArkreenDocs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",1966],f8c4683f:[()=>n.e(5437).then(n.bind(n,8833)),"@site/docs/governance/community-owned.md",8833],fc6d3b71:[()=>n.e(6031).then(n.bind(n,3589)),"@site/docs/arec/arec-port.md",3589],fd1419c6:[()=>n.e(5271).then(n.bind(n,9772)),"@site/docs/arec/liquidize-arec.md",9772],fddeb0dd:[()=>n.e(8754).then(n.bind(n,6355)),"@site/docs/faq/arec-faq.md",6355]};function c(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var u=n(6921),d=n(3102);function f(e,t){if("*"===e)return i()({loading:c,loader:()=>n.e(1774).then(n.bind(n,1774)),modules:["@theme/NotFound"],webpack:()=>[1774],render(e,t){const n=e.default;return r.createElement(d.W,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=l[`${e}-${t}`],f={},p=[],m=[],h=(0,u.A)(o);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=s[n];r&&(f[t]=r[0],p.push(r[1]),m.push(r[2]))})),i().Map({loading:c,loader:f,modules:p,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const l=n.split(".");l.slice(0,-1).forEach((e=>{o=o[e]})),o[l[l.length-1]]=a}));const l=i.__comp;delete i.__comp;const s=i.__context;return delete i.__context,r.createElement(d.W,{value:s},r.createElement(l,(0,a.A)({},i,n)))}})}const p=[{path:"/",component:f("/","dff"),routes:[{path:"/",component:f("/","14b"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/arec-assets",component:f("/arec/arec-assets","4d1"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/arec-badge",component:f("/arec/arec-badge","3b0"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/arec-bridge",component:f("/arec/arec-bridge","b46"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/arec-dapp",component:f("/arec/arec-dapp","e6a"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/arec-dex",component:f("/arec/arec-dex","92e"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/arec-overview",component:f("/arec/arec-overview","3c0"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/arec-port",component:f("/arec/arec-port","be6"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/arec-profile",component:f("/arec/arec-profile","2ba"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/arec-quickstart",component:f("/arec/arec-quickstart","87e"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/art-token",component:f("/arec/art-token","658"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/climate-actors",component:f("/arec/climate-actors","0e2"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/climate-badge",component:f("/arec/climate-badge","935"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/issue-arec",component:f("/arec/issue-arec","0ca"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/liquidize-arec",component:f("/arec/liquidize-arec","f2c"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/offset-art",component:f("/arec/offset-art","371"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/arec/redeem-arec",component:f("/arec/redeem-arec","3d5"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/ecomodel/ecomodel_overview",component:f("/ecomodel/ecomodel_overview","50b"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/faq/arec-faq",component:f("/faq/arec-faq","0c3"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/faq/buy-remote-miner",component:f("/faq/buy-remote-miner","e7c"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/faq/energy-and-miner-status",component:f("/faq/energy-and-miner-status","10a"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/faq/order-standard-miner",component:f("/faq/order-standard-miner","6f6"),exact:!0},{path:"/faq/reward-and-withdrawal",component:f("/faq/reward-and-withdrawal","57f"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/faq/road-to-depin-refi-campaign",component:f("/faq/road-to-depin-refi-campaign","929"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/governance/arkreen-mariners",component:f("/governance/arkreen-mariners","f62"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/governance/community-owned",component:f("/governance/community-owned","715"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/governance/governance-overview",component:f("/governance/governance-overview","405"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/governance/voting",component:f("/governance/voting","bb5"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/how-to-use/arkreen-app",component:f("/how-to-use/arkreen-app","2dc"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/how-to-use/arkreen-console",component:f("/how-to-use/arkreen-console","ba9"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/how-to-use/arkreen-explorer",component:f("/how-to-use/arkreen-explorer","ba9"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/how-to-use/data-collector-installation",component:f("/how-to-use/data-collector-installation","351"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/how-to-use/green-btc",component:f("/how-to-use/green-btc","38b"),exact:!0},{path:"/how-to-use/smart-plug-user-guide",component:f("/how-to-use/smart-plug-user-guide","f49"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/nft/miner-nft",component:f("/nft/miner-nft","627"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/arkreen-network-vision",component:f("/overview/arkreen-network-vision","4b9"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/background-and-the-pain-points",component:f("/overview/background-and-the-pain-points","22a"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/miner/",component:f("/overview/miner/","e08"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/miner/consumption/plug-miner",component:f("/overview/miner/consumption/plug-miner","fb9"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/miner/generation/gaming-miner",component:f("/overview/miner/generation/gaming-miner","408"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/miner/generation/lite-remote-miner",component:f("/overview/miner/generation/lite-remote-miner","a9d"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/miner/generation/plant-miner",component:f("/overview/miner/generation/plant-miner","148"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/miner/generation/remote-miner",component:f("/overview/miner/generation/remote-miner","b9f"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/miner/generation/standard-miner",component:f("/overview/miner/generation/standard-miner","168"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/overview/pillar-applications",component:f("/overview/pillar-applications","6ca"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/programs/",component:f("/programs/","400"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/programs/community-solar-program",component:f("/programs/community-solar-program","052"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/programs/csp-payment-safeguard-plan",component:f("/programs/csp-payment-safeguard-plan","6c0"),exact:!0},{path:"/programs/referral-program",component:f("/programs/referral-program","b8c"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/quick-start/arkreen-newcomer-guide/",component:f("/quick-start/arkreen-newcomer-guide/","fac"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/quick-start/arkreen-newcomer-guide/claim-referral-gift",component:f("/quick-start/arkreen-newcomer-guide/claim-referral-gift","f98"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/quick-start/arkreen-newcomer-guide/lite-miners-gift",component:f("/quick-start/arkreen-newcomer-guide/lite-miners-gift","90d"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/quick-start/mainnet-transition",component:f("/quick-start/mainnet-transition","4dd"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/quick-start/smart-plug-quick-start",component:f("/quick-start/smart-plug-quick-start","777"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/quick-start/staking-guide",component:f("/quick-start/staking-guide","87c"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/roadmap/phase0",component:f("/roadmap/phase0","8dd"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/roadmap/phase1",component:f("/roadmap/phase1","d9a"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/roadmap/phase2",component:f("/roadmap/phase2","4c9"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/roadmap/phase3",component:f("/roadmap/phase3","98f"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/roadmap/roadmap-overview",component:f("/roadmap/roadmap-overview","f9b"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/technical-details/electricity-generation-data-storage-in-filecoin",component:f("/technical-details/electricity-generation-data-storage-in-filecoin","061"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/technical-details/plant-miner-rewards",component:f("/technical-details/plant-miner-rewards","5ad"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task",component:f("/technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task","7d1"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn",component:f("/technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn","27d"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded",component:f("/technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded","42c"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data",component:f("/technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data","98c"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/technical-details/proof-of-green-data/overview",component:f("/technical-details/proof-of-green-data/overview","2b1"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/technical-details/smart-contract-deployment",component:f("/technical-details/smart-contract-deployment","9bf"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/token/network-primitives",component:f("/token/network-primitives","848"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/token/token-distribution",component:f("/token/token-distribution","89b"),exact:!0,sidebar:"ArkreenSidebar"},{path:"/token/what-is-akre",component:f("/token/what-is-akre","5db"),exact:!0,sidebar:"ArkreenSidebar"}]},{path:"*",component:f("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>o});var r=n(6540);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},5660:(e,t,n)=>{"use strict";var r=n(6540),a=n(961),o=n(4625),i=n(545),l=n(8193);const s=[n(119),n(6134),n(6294),n(1043)];var c=n(8328),u=n(6347),d=n(2831);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(8168),m=n(5260),h=n(4586),g=n(6025),b=n(6342),v=n(1003),y=n(2131),w=n(4090),k=n(2967),E=n(1463);function S(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,h.A)(),n=(0,y.o)();return r.createElement(m.A,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function A(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.A)(),a=function(){const{siteConfig:{url:e}}=(0,h.A)(),{pathname:t}=(0,u.zy)();return e+(0,g.A)(t)}(),o=t?`${n}${t}`:a;return r.createElement(m.A,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function x(){const{i18n:{currentLocale:e}}=(0,h.A)(),{metadata:t,image:n}=(0,b.p)();return r.createElement(r.Fragment,null,r.createElement(m.A,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.w})),n&&r.createElement(v.be,{image:n}),r.createElement(A,null),r.createElement(S,null),r.createElement(E.A,{tag:k.Cy,locale:e}),r.createElement(m.A,null,t.map(((e,t)=>r.createElement("meta",(0,p.A)({key:t},e))))))}const _=new Map;function C(e){if(_.has(e.pathname))return{...e,pathname:_.get(e.pathname)};if((0,d.u)(c.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return _.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return _.set(e.pathname,t),{...e,pathname:t}}var T=n(6125),L=n(6988);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(a&&function(e){const{hash:t}=e;if(t){const e=decodeURIComponent(t.substring(1)),n=document.getElementById(e);n?.scrollIntoView()}else window.scrollTo(0,0)}(n),R("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function P(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(c.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class O extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),P(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(N,{previousLocation:this.previousLocation,location:t},r.createElement(u.qh,{location:t,render:()=>e}))}}const D=O,I="docusaurus-base-url-issue-banner-container",M="docusaurus-base-url-issue-banner",F="docusaurus-base-url-issue-banner-suggestion-container",B="__DOCUSAURUS_INSERT_BASEURL_BANNER";function j(e){return`\nwindow['${B}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${B}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${I}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
    \n

    Your Docusaurus site did not load properly.

    \n

    A very common reason is a wrong site baseUrl configuration.

    \n

    Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

    \n

    We suggest trying baseUrl =

    \n
    \n`}(e)).replace(/{window[B]=!1}),[]),r.createElement(r.Fragment,null,!l.A.canUseDOM&&r.createElement(m.A,null,r.createElement("script",null,j(e))),r.createElement("div",{id:I}))}function q(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.A)(),{pathname:n}=(0,u.zy)();return t&&n===e?r.createElement(z,null):null}function $(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,h.A)(),i=(0,g.A)(e),{htmlLang:l,direction:s}=o[a];return r.createElement(m.A,null,r.createElement("html",{lang:l,dir:s}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var U=n(7489);function G(){const e=(0,d.v)(c.A),t=(0,u.zy)();return r.createElement(U.A,null,r.createElement(L.l,null,r.createElement(T.x,null,r.createElement(f,null,r.createElement($,null),r.createElement(x,null),r.createElement(q,null),r.createElement(D,{location:C(t)},e)))))}var H=n(4054);const V=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var W=n(6921);const K=new Set,Y=new Set,Q=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,X={prefetch(e){if(!(e=>!Q()&&!Y.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(H).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,W.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?V(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!Q()&&!Y.has(e))(e)&&(Y.add(e),P(e))},Z=Object.freeze(X);if(l.A.canUseDOM){window.docusaurus=Z;const e=a.hydrate;P(window.location.pathname).then((()=>{e(r.createElement(i.vd,null,r.createElement(o.Kd,null,r.createElement(G,null))),document.getElementById("__docusaurus"))}))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>u,l:()=>d});var r=n(6540),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"README","docs":[{"id":"arec/arec-assets","path":"/arec/arec-assets","sidebar":"ArkreenSidebar"},{"id":"arec/arec-badge","path":"/arec/arec-badge","sidebar":"ArkreenSidebar"},{"id":"arec/arec-bridge","path":"/arec/arec-bridge","sidebar":"ArkreenSidebar"},{"id":"arec/arec-dapp","path":"/arec/arec-dapp","sidebar":"ArkreenSidebar"},{"id":"arec/arec-dex","path":"/arec/arec-dex","sidebar":"ArkreenSidebar"},{"id":"arec/arec-overview","path":"/arec/arec-overview","sidebar":"ArkreenSidebar"},{"id":"arec/arec-port","path":"/arec/arec-port","sidebar":"ArkreenSidebar"},{"id":"arec/arec-profile","path":"/arec/arec-profile","sidebar":"ArkreenSidebar"},{"id":"arec/arec-quickstart","path":"/arec/arec-quickstart","sidebar":"ArkreenSidebar"},{"id":"arec/art-token","path":"/arec/art-token","sidebar":"ArkreenSidebar"},{"id":"arec/climate-actors","path":"/arec/climate-actors","sidebar":"ArkreenSidebar"},{"id":"arec/climate-badge","path":"/arec/climate-badge","sidebar":"ArkreenSidebar"},{"id":"arec/issue-arec","path":"/arec/issue-arec","sidebar":"ArkreenSidebar"},{"id":"arec/liquidize-arec","path":"/arec/liquidize-arec","sidebar":"ArkreenSidebar"},{"id":"arec/offset-art","path":"/arec/offset-art","sidebar":"ArkreenSidebar"},{"id":"arec/redeem-arec","path":"/arec/redeem-arec","sidebar":"ArkreenSidebar"},{"id":"ecomodel/ecomodel_overview","path":"/ecomodel/ecomodel_overview","sidebar":"ArkreenSidebar"},{"id":"faq/arec-faq","path":"/faq/arec-faq","sidebar":"ArkreenSidebar"},{"id":"faq/buy-remote-miner","path":"/faq/buy-remote-miner","sidebar":"ArkreenSidebar"},{"id":"faq/energy-and-miner-status","path":"/faq/energy-and-miner-status","sidebar":"ArkreenSidebar"},{"id":"faq/order-standard-miner","path":"/faq/order-standard-miner"},{"id":"faq/reward-and-withdrawal","path":"/faq/reward-and-withdrawal","sidebar":"ArkreenSidebar"},{"id":"faq/road-to-depin-refi-campaign","path":"/faq/road-to-depin-refi-campaign","sidebar":"ArkreenSidebar"},{"id":"governance/arkreen-mariners","path":"/governance/arkreen-mariners","sidebar":"ArkreenSidebar"},{"id":"governance/community-owned","path":"/governance/community-owned","sidebar":"ArkreenSidebar"},{"id":"governance/governance-overview","path":"/governance/governance-overview","sidebar":"ArkreenSidebar"},{"id":"governance/voting","path":"/governance/voting","sidebar":"ArkreenSidebar"},{"id":"how-to-use/arkreen-app","path":"/how-to-use/arkreen-app","sidebar":"ArkreenSidebar"},{"id":"how-to-use/arkreen-console","path":"/how-to-use/arkreen-console","sidebar":"ArkreenSidebar"},{"id":"how-to-use/arkreen-explorer","path":"/how-to-use/arkreen-explorer","sidebar":"ArkreenSidebar"},{"id":"how-to-use/data-collector-installation","path":"/how-to-use/data-collector-installation","sidebar":"ArkreenSidebar"},{"id":"how-to-use/green-btc","path":"/how-to-use/green-btc"},{"id":"how-to-use/smart-plug-user-guide","path":"/how-to-use/smart-plug-user-guide","sidebar":"ArkreenSidebar"},{"id":"nft/miner-nft","path":"/nft/miner-nft","sidebar":"ArkreenSidebar"},{"id":"overview/arkreen-network-vision","path":"/overview/arkreen-network-vision","sidebar":"ArkreenSidebar"},{"id":"overview/background-and-the-pain-points","path":"/overview/background-and-the-pain-points","sidebar":"ArkreenSidebar"},{"id":"overview/miner/consumption/plug-miner","path":"/overview/miner/consumption/plug-miner","sidebar":"ArkreenSidebar"},{"id":"overview/miner/generation/gaming-miner","path":"/overview/miner/generation/gaming-miner","sidebar":"ArkreenSidebar"},{"id":"overview/miner/generation/lite-remote-miner","path":"/overview/miner/generation/lite-remote-miner","sidebar":"ArkreenSidebar"},{"id":"overview/miner/generation/plant-miner","path":"/overview/miner/generation/plant-miner","sidebar":"ArkreenSidebar"},{"id":"overview/miner/generation/remote-miner","path":"/overview/miner/generation/remote-miner","sidebar":"ArkreenSidebar"},{"id":"overview/miner/generation/standard-miner","path":"/overview/miner/generation/standard-miner","sidebar":"ArkreenSidebar"},{"id":"overview/miner/README","path":"/overview/miner/","sidebar":"ArkreenSidebar"},{"id":"overview/pillar-applications","path":"/overview/pillar-applications","sidebar":"ArkreenSidebar"},{"id":"programs/community-solar-program","path":"/programs/community-solar-program","sidebar":"ArkreenSidebar"},{"id":"programs/csp-payment-safeguard-plan","path":"/programs/csp-payment-safeguard-plan"},{"id":"programs/README","path":"/programs/","sidebar":"ArkreenSidebar"},{"id":"programs/referral-program","path":"/programs/referral-program","sidebar":"ArkreenSidebar"},{"id":"quick-start/arkreen-newcomer-guide/claim-referral-gift","path":"/quick-start/arkreen-newcomer-guide/claim-referral-gift","sidebar":"ArkreenSidebar"},{"id":"quick-start/arkreen-newcomer-guide/lite-miners-gift","path":"/quick-start/arkreen-newcomer-guide/lite-miners-gift","sidebar":"ArkreenSidebar"},{"id":"quick-start/arkreen-newcomer-guide/README","path":"/quick-start/arkreen-newcomer-guide/","sidebar":"ArkreenSidebar"},{"id":"quick-start/mainnet-transition","path":"/quick-start/mainnet-transition","sidebar":"ArkreenSidebar"},{"id":"quick-start/smart-plug-quick-start","path":"/quick-start/smart-plug-quick-start","sidebar":"ArkreenSidebar"},{"id":"quick-start/staking-guide","path":"/quick-start/staking-guide","sidebar":"ArkreenSidebar"},{"id":"README","path":"/","sidebar":"ArkreenSidebar"},{"id":"roadmap/phase0","path":"/roadmap/phase0","sidebar":"ArkreenSidebar"},{"id":"roadmap/phase1","path":"/roadmap/phase1","sidebar":"ArkreenSidebar"},{"id":"roadmap/phase2","path":"/roadmap/phase2","sidebar":"ArkreenSidebar"},{"id":"roadmap/phase3","path":"/roadmap/phase3","sidebar":"ArkreenSidebar"},{"id":"roadmap/roadmap-overview","path":"/roadmap/roadmap-overview","sidebar":"ArkreenSidebar"},{"id":"technical-details/electricity-generation-data-storage-in-filecoin","path":"/technical-details/electricity-generation-data-storage-in-filecoin","sidebar":"ArkreenSidebar"},{"id":"technical-details/plant-miner-rewards","path":"/technical-details/plant-miner-rewards","sidebar":"ArkreenSidebar"},{"id":"technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task","path":"/technical-details/proof-of-green-data/how-does-a-miner-fulfill-the-proof-of-green-data-task","sidebar":"ArkreenSidebar"},{"id":"technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn","path":"/technical-details/proof-of-green-data/how-does-arkreen-network-calculate-the-token-amount-that-a-miner-will-earn","sidebar":"ArkreenSidebar"},{"id":"technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded","path":"/technical-details/proof-of-green-data/how-does-arkreen-network-determine-which-Miner-will-be-rewarded","sidebar":"ArkreenSidebar"},{"id":"technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data","path":"/technical-details/proof-of-green-data/how-does-arkreen-network-verify-the-trustworthiness-of-proof-of-green-data","sidebar":"ArkreenSidebar"},{"id":"technical-details/proof-of-green-data/overview","path":"/technical-details/proof-of-green-data/overview","sidebar":"ArkreenSidebar"},{"id":"technical-details/smart-contract-deployment","path":"/technical-details/smart-contract-deployment","sidebar":"ArkreenSidebar"},{"id":"token/network-primitives","path":"/token/network-primitives","sidebar":"ArkreenSidebar"},{"id":"token/token-distribution","path":"/token/token-distribution","sidebar":"ArkreenSidebar"},{"id":"token/what-is-akre","path":"/token/what-is-akre","sidebar":"ArkreenSidebar"}],"draftIds":[],"sidebars":{"ArkreenSidebar":{"link":{"path":"/quick-start/arkreen-newcomer-guide/","label":"Arkreen Newcomer Guide"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(2654);const s=JSON.parse('{"docusaurusVersion":"2.2.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.2.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.2.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.2.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.2.0"}}}'),c={siteConfig:a.A,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},u=r.createContext(c);function d(e){let{children:t}=e;return r.createElement(u.Provider,{value:c},t)}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(6540),a=n(8193),o=n(5260),i=n(5713);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"50vh",width:"100%",fontSize:"20px"}},r.createElement("h1",null,"This page crashed."),r.createElement("p",null,t.message),r.createElement("button",{type:"button",onClick:n},"Try again"))}function s(e){let{error:t,tryAgain:n}=e;return r.createElement(u,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(o.A,null,r.createElement("title",null,"Page Error")),r.createElement(i.A,null,r.createElement(l,{error:t,tryAgain:n})))}const c=e=>r.createElement(s,e);class u extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??c)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(545);function o(e){return r.createElement(a.mg,e)}},5489:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(8168),a=n(6540),o=n(4625),i=n(440),l=n(4586),s=n(6654),c=n(8193);const u=a.createContext({collectLink:()=>{}});var d=n(6025);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,l.A)(),{withBaseUrl:k}=(0,d.h)(),E=(0,a.useContext)(u),S=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>S.current));const A=f||p;const x=(0,s.A)(A),_=A?.replace("pathname://","");let C=void 0!==_?(T=_,b&&(e=>e.startsWith("/"))(T)?k(T):T):void 0;var T;C&&x&&(C=(0,i.applyTrailingSlash)(C,{trailingSlash:y,baseUrl:w}));const L=(0,a.useRef)(!1),R=n?o.k2:o.N_,N=c.A.canUseIntersectionObserver,P=(0,a.useRef)(),O=()=>{L.current||null==C||(window.docusaurus.preload(C),L.current=!0)};(0,a.useEffect)((()=>(!N&&x&&null!=C&&window.docusaurus.prefetch(C),()=>{N&&P.current&&P.current.disconnect()})),[P,C,N,x]);const D=C?.startsWith("#")??!1,I=!C||!x||D;return I||g||E.collectLink(C),I?a.createElement("a",(0,r.A)({ref:S,href:C},A&&!x&&{target:"_blank",rel:"noopener noreferrer"},v)):a.createElement(R,(0,r.A)({},v,{onMouseEnter:O,onTouchStart:O,innerRef:e=>{S.current=e,N&&e&&x&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=C&&window.docusaurus.prefetch(C))}))})),P.current.observe(e))},to:C},n&&{isActive:h,activeClassName:m}))}const p=a.forwardRef(f)},418:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=()=>null},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>s,T:()=>l});var r=n(6540);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(2654);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function s(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const l=i({message:t,id:n});return r.createElement(r.Fragment,null,a(l,o))}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{A:()=>i,h:()=>o});var r=n(4586),a=n(6654);function o(){const{siteConfig:{baseUrl:e,url:t}}=(0,r.A)();return{withBaseUrl:(n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,a.z)(n))return n;if(o)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)}}function i(e,t){void 0===t&&(t={});const{withBaseUrl:n}=o();return n(e,t)}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6988);function o(){return(0,r.useContext)(a.o)}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6125);function o(){return(0,r.useContext)(a.o)}},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>o,o:()=>a});var r=n(6540);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},4070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>h,vT:()=>f,Gy:()=>u,HW:()=>g,ht:()=>d,r7:()=>m,jh:()=>p});var r=n(6347),a=n(4586),o=n(7065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const c={},u=()=>i("docusaurus-plugin-content-docs")??c,d=e=>function(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function p(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function h(e){const t=d(e),{pathname:n}=(0,r.zy)();return s(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(5947),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},6134:(e,t,n)=>{"use strict";var r=n(1258),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.A,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(8692)(`./prism-${e}`)})),delete globalThis.Prism}(r.A)},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540);const a={iconExternalLink:"iconExternalLink_nPIU"};function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},5713:(e,t,n)=>{"use strict";n.d(t,{A:()=>st});var r=n(6540),a=n(53),o=n(7489),i=n(1003),l=n(8168),s=n(6347),c=n(1312),u=n(5062);const d="docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,s.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,c.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,l.A)({},e,{href:`#${d}`,onClick:a}),t))}var g=n(7559),b=n(4090);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(h,{className:v.skipToContent})}var w=n(6342),k=n(5041);function E(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...s}=e;return r.createElement("svg",(0,l.A)({viewBox:"0 0 15 15",width:t,height:n},s),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S={closeButton:"closeButton_CVFx"};function A(e){return r.createElement("button",(0,l.A)({type:"button","aria-label":(0,c.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.A)("clean-btn close",S.closeButton,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const x={content:"content_knG7"};function _(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return r.createElement("div",(0,l.A)({},e,{className:(0,a.A)(x.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const C={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.Mj)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:C.announcementBar,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:C.announcementBarPlaceholder}),r.createElement(_,{className:C.announcementBarContent}),i&&r.createElement(A,{onClick:n,className:C.announcementBarClose}))}var L=n(9876),R=n(3104);var N=n(9532),P=n(5600);const O=r.createContext(null);function D(e){let{children:t}=e;const n=function(){const e=(0,L.M)(),t=(0,P.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,N.ZC)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(O.Provider,{value:n},t)}function I(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function M(){const e=(0,r.useContext)(O);if(!e)throw new N.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,P.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=M();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var B=n(5293),j=n(2303);function z(e){return r.createElement("svg",(0,l.A)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function q(e){return r.createElement("svg",(0,l.A)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function U(e){let{className:t,value:n,onChange:o}=e;const i=(0,j.A)(),l=(0,c.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===n?(0,c.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.A)($.toggle,t)},r.createElement("button",{className:(0,a.A)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled),type:"button",onClick:()=>o("dark"===n?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(z,{className:(0,a.A)($.toggleIcon,$.lightToggleIcon)}),r.createElement(q,{className:(0,a.A)($.toggleIcon,$.darkToggleIcon)})))}const G=r.memo(U);function H(e){let{className:t}=e;const n=(0,w.p)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,B.G)();return n?null:r.createElement(G,{className:t,value:a,onChange:o})}var V=n(3465);function W(){return r.createElement(V.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,L.M)();return r.createElement("button",{type:"button","aria-label":(0,c.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(W,null),r.createElement(H,{className:"margin-right--md"}),r.createElement(K,null))}var Q=n(5489),X=n(6025),Z=n(6654);function J(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var ee=n(3186);function te(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:s,isDropdownLink:c,prependBaseUrlToHref:u,...d}=e;const f=(0,X.A)(a),p=(0,X.A)(t),m=(0,X.A)(o,{forcePrependBaseUrl:!0}),h=i&&o&&!(0,Z.A)(o),g=s?{dangerouslySetInnerHTML:{__html:s}}:{children:r.createElement(r.Fragment,null,i,h&&r.createElement(ee.A,c&&{width:12,height:12}))};return o?r.createElement(Q.A,(0,l.A)({href:u?m:o},d,g)):r.createElement(Q.A,(0,l.A)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?J(n,t.pathname):t.pathname.startsWith(p)},d,g))}function ne(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(te,(0,l.A)({className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function re(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(te,(0,l.A)({className:(0,a.A)("menu__link",t)},o)))}function ae(e){let{mobile:t=!1,position:n,...a}=e;const o=t?re:ne;return r.createElement(o,(0,l.A)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var oe=n(1422),ie=n(9169),le=n(4586);function se(e,t){return e.some((e=>function(e,t){return!!(0,ie.ys)(e.to,t)||!!J(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ce(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const c=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[c]),r.createElement("div",{ref:c,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u})},r.createElement(te,(0,l.A)({"aria-haspopup":"true","aria-expanded":u,role:"button",href:s.to?void 0:"#",className:(0,a.A)("navbar__link",o)},s,{onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))}}),s.children??s.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,n)=>r.createElement(Se,(0,l.A)({isDropdownItem:!0,onKeyDown:e=>{if(n===t.length-1&&"Tab"===e.key){e.preventDefault(),d(!1);const t=c.current.nextElementSibling;if(t){(t instanceof HTMLAnchorElement?t:t.querySelector("a")).focus()}}},activeClassName:"dropdown__link--active"},e,{key:n}))))))}function ue(e){let{items:t,className:n,position:o,onClick:i,...c}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,le.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=se(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,oe.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),r.createElement("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(te,(0,l.A)({role:"button",className:(0,a.A)("menu__link menu__link--sublist menu__link--sublist-caret",n)},c,{onClick:e=>{e.preventDefault(),p()}}),c.children??c.label),r.createElement(oe.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(Se,(0,l.A)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function de(e){let{mobile:t=!1,...n}=e;const a=t?ue:ce;return r.createElement(a,n)}var fe=n(2131);function pe(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,l.A)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const me="iconLanguage_nlXk";var he=n(418);const ge={searchBox:"searchBox_ZlJk"};function be(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.A)(n,ge.searchBox)},t)}var ve=n(4070),ye=n(1754);var we=n(5597);const ke=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,le.A)(),f=(0,fe.o)(),{search:p,hash:m}=(0,s.zy)(),h=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],g=t?(0,c.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(de,(0,l.A)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(pe,{className:me}),g),items:h}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(be,{className:n},r.createElement(he.A,null))},dropdown:de,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const l=i?"li":"div";return r.createElement(l,{className:(0,a.A)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ve.zK)(a),s=(0,ye.QB)(t,a);return null===s?null:r.createElement(ae,(0,l.A)({exact:!0},o,{isActive:()=>i?.path===s.path||!!i?.sidebar&&i.sidebar===s.sidebar,label:n??s.id,to:s.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ve.zK)(a),s=(0,ye.fW)(t,a).link;if(!s)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(ae,(0,l.A)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??s.label,to:s.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,ye.Vd)(a)[0],s=t??i.label,c=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(ae,(0,l.A)({},o,{label:s,to:c}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...u}=e;const{search:d,hash:f}=(0,s.zy)(),p=(0,ve.zK)(n),m=(0,ve.jh)(n),{savePreferredVersionName:h}=(0,we.g1)(n),g=[...o,...m.map((e=>{const t=p.alternateDocVersions[e.name]??ke(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...i],b=(0,ye.Vd)(n)[0],v=t&&g.length>1?(0,c.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&g.length>1?void 0:ke(b).path;return g.length<=1?r.createElement(ae,(0,l.A)({},u,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(de,(0,l.A)({},u,{mobile:t,label:v,to:y,items:g,isActive:a?()=>!1:void 0}))}};function Se(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ee[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Ae(){const e=(0,L.M)(),t=(0,w.p)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Se,(0,l.A)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function xe(e){return r.createElement("button",(0,l.A)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(c.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function _e(){const e=0===(0,w.p)().navbar.items.length,t=M();return r.createElement(r.Fragment,null,!e&&r.createElement(xe,{onClick:()=>t.hide()}),t.content)}function Ce(){const e=(0,L.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(F,{header:r.createElement(Y,null),primaryMenu:r.createElement(Ae,null),secondaryMenu:r.createElement(_e,null)}):null}const Te={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Le(e){return r.createElement("div",(0,l.A)({role:"presentation"},e,{className:(0,a.A)("navbar-sidebar__backdrop",e.className)}))}function Re(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.p)(),i=(0,L.M)(),{navbarRef:l,isNavbarVisible:s}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,R.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:l,className:(0,a.A)("navbar","navbar--fixed-top",n&&[Te.navbarHideable,!s&&Te.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Le,{onClick:i.toggle}),r.createElement(Ce,null))}const Ne="right";function Pe(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,l.A)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function Oe(){const{toggle:e,shown:t}=(0,L.M)();return r.createElement("button",{onClick:e,"aria-label":(0,c.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(Pe,null))}const De={colorModeToggle:"colorModeToggle_DEke"};function Ie(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(Se,(0,l.A)({},e,{key:t})))))}function Me(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function Fe(){const e=(0,L.M)(),t=(0,w.p)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??Ne)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(Me,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(Oe,null),r.createElement(W,null),r.createElement(Ie,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(Ie,{items:a}),r.createElement(H,{className:De.colorModeToggle}),!o&&r.createElement(be,null,r.createElement(he.A,null)))})}function Be(){return r.createElement(Re,null,r.createElement(Fe,null))}function je(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...s}=t,c=(0,X.A)(n),u=(0,X.A)(a,{forcePrependBaseUrl:!0});return r.createElement(Q.A,(0,l.A)({className:"footer__link-item"},a?{href:i?u:a}:{to:c},s),o,a&&!(0,Z.A)(a)&&r.createElement(ee.A,null))}function ze(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(je,{item:t}))}function qe(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(ze,{key:t,item:e})))))}function $e(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(qe,{key:t,column:e}))))}function Ue(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function Ge(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(je,{item:t})}function He(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(Ge,{item:e}),t.length!==n+1&&r.createElement(Ue,null))))))}function Ve(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement($e,{columns:t}):r.createElement(He,{links:t})}var We=n(1653);const Ke={footerLogoLink:"footerLogoLink_BH7S"};function Ye(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.h)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(We.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function Qe(e){let{logo:t}=e;return t.href?r.createElement(Q.A,{href:t.href,className:Ke.footerLogoLink,target:t.target},r.createElement(Ye,{logo:t})):r.createElement(Ye,{logo:t})}function Xe(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Ze(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function Je(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(Ze,{style:o,links:n&&n.length>0&&r.createElement(Ve,{links:n}),logo:a&&r.createElement(Qe,{logo:a}),copyright:t&&r.createElement(Xe,{copyright:t})})}const et=r.memo(Je);var tt=n(9466);const nt="docusaurus.tab.",rt=r.createContext(void 0);const at=(0,N.fM)([B.a,k.oq,function(e){let{children:t}=e;const n=function(){const[e,t]=(0,r.useState)({}),n=(0,r.useCallback)(((e,t)=>{(0,tt.W)(`${nt}${e}`).set(t)}),[]);(0,r.useEffect)((()=>{try{const e={};(0,tt.E)().forEach((t=>{if(t.startsWith(nt)){const n=t.substring(nt.length);e[n]=(0,tt.W)(t).get()}})),t(e)}catch(e){console.error(e)}}),[]);const a=(0,r.useCallback)(((e,r)=>{t((t=>({...t,[e]:r}))),n(e,r)}),[n]);return(0,r.useMemo)((()=>({tabGroupChoices:e,setTabGroupChoices:a})),[e,a])}();return r.createElement(rt.Provider,{value:n},t)},R.Tv,we.VQ,i.Jx,function(e){let{children:t}=e;return r.createElement(P.y_,null,r.createElement(L.e,null,r.createElement(D,null,t)))}]);function ot(e){let{children:t}=e;return r.createElement(at,null,t)}function it(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(c.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("p",null,t.message),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},r.createElement(c.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again when the page crashed"},"Try again"))))))}const lt={mainWrapper:"mainWrapper_z2l0"};function st(e){const{children:t,noFooter:n,wrapperClassName:l,title:s,description:c}=e;return(0,b.J)(),r.createElement(ot,null,r.createElement(i.be,{title:s,description:c}),r.createElement(y,null),r.createElement(T,null),r.createElement(Be,null),r.createElement("div",{id:d,className:(0,a.A)(g.G.wrapper.main,lt.mainWrapper,l)},r.createElement(o.A,{fallback:e=>r.createElement(it,e)},t)),!n&&r.createElement(et,null))}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});var r=n(8168),a=n(6540),o=n(5489),i=n(6025),l=n(4586),s=n(6342),c=n(1653);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.A)(t.src),dark:(0,i.A)(t.srcDark||t.src)},l=a.createElement(c.A,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},l):l}function d(e){const{siteConfig:{title:t}}=(0,l.A)(),{navbar:{title:n,logo:c}}=(0,s.p)(),{imageClassName:d,titleClassName:f,...p}=e,m=(0,i.A)(c?.href||"/"),h=n?"":t,g=c?.alt??h;return a.createElement(o.A,(0,r.A)({to:m},p,c?.target&&{target:c.target}),c&&a.createElement(u,{logo:c,alt:g,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(5260);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.A,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},1653:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(8168),a=n(6540),o=n(53),i=n(2303),l=n(5293);const s={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function c(e){const t=(0,i.A)(),{colorMode:n}=(0,l.G)(),{sources:c,className:u,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.A)({key:e,src:c[e],alt:d,className:(0,o.A)(s.themedImage,s[`themedImage--${e}`],u)},f)))))}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>h,u:()=>l});var r=n(8168),a=n(6540),o=n(8193);const i="ease-in-out";function l(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const s={display:"none",overflow:"hidden",height:"0px"},c={display:"block",overflow:"visible",height:"auto"};function u(e,t){const n=t?s:c;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function d(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=r?.duration??function(e){const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??i}`,height:`${t}px`}}function l(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return u(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=s.height,e.style.overflow=s.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function f(e){if(!o.A.canUseDOM)return e?s:c}function p(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:s}=e;const c=(0,a.useRef)(null);return d({collapsibleRef:c,collapsed:n,animation:o}),a.createElement(t,{ref:c,style:s?void 0:f(n),onTransitionEnd:e=>{"height"===e.propertyName&&(u(c.current,n),i?.(n))},className:l},r)}function m(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[l,s]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&s(t)}),[o,t]),o?a.createElement(p,(0,r.A)({},n,{collapsed:l})):null}function h(e){let{lazy:t,...n}=e;const r=t?m:p;return a.createElement(r,n)}},5041:(e,t,n)=>{"use strict";n.d(t,{Mj:()=>m,oq:()=>p});var r=n(6540),a=n(2303),o=n(9466),i=n(9532),l=n(6342);const s=(0,o.W)("docusaurus.announcement.dismiss"),c=(0,o.W)("docusaurus.announcement.id"),u=()=>"true"===s.get(),d=e=>s.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)((()=>!!t&&u()));(0,r.useEffect)((()=>{o(u())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&d(!1),!r&&u()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>g,a:()=>h});var r=n(6540),a=n(8193),o=n(9532),i=n(9466),l=n(6342);const s=r.createContext(void 0),c="theme",u=(0,i.W)(c),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,p=e=>a.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{u.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.p)(),[a,o]=(0,r.useState)(p(e));(0,r.useEffect)((()=>{t&&u.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),u.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=u.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[a,i])}();return r.createElement(s.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(s);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},5597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>g,g1:()=>v});var r=n(6540),a=n(4070),o=n(7065),i=n(6342),l=n(1754),s=n(9532),c=n(9466);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,c.W)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.W)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.W)(u(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function m(){const e=(0,a.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return r.createElement(p.Provider,{value:n},t)}function g(e){let{children:t}=e;return l.C5?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(p);if(!e)throw new s.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.W);const t=(0,a.ht)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},6588:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>s});var r=n(6540),a=n(9532);const o=Symbol("EmptyContext"),i=r.createContext(o);function l(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function s(){const e=(0,r.useContext)(i);if(e===o)throw new a.dV("DocsSidebarProvider");return e}},9876:(e,t,n)=>{"use strict";n.d(t,{e:()=>f,M:()=>p});var r=n(6540),a=n(5600),o=n(4581),i=n(6347),l=n(9532);function s(e){!function(e){const t=(0,i.W6)(),n=(0,l._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(6342);const u=r.createContext(void 0);function d(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,c.p)().navbar;return 0===t.length&&!e.component}(),t=(0,o.l)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const u=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=d();return r.createElement(u.Provider,{value:n},t)}function p(){const e=r.useContext(u);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>s,YL:()=>l,y_:()=>i});var r=n(6540),a=n(9532);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function l(){const e=(0,r.useContext)(o);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function s(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,l]=i,s=(0,a.Be)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>o});var r=n(6540);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>c});var r=n(6540),a=n(8193);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(){return a.A.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const s=!1;function c(){const[e,t]=(0,r.useState)((()=>s?"ssr":l()));return(0,r.useEffect)((()=>{function e(){t(l())}const n=s?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1754:(e,t,n)=>{"use strict";n.d(t,{_o:()=>f,w8:()=>h,C5:()=>d,mz:()=>k,Vd:()=>v,QB:()=>w,fW:()=>y,OF:()=>b});var r=n(6540),a=n(6347),o=n(2831),i=n(4070),l=n(5597),s=n(6588);function c(e){return Array.from(new Set(e))}var u=n(9169);const d=!!i.Gy;function f(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=f(t);if(e)return e}}}const p=(e,t)=>void 0!==e&&(0,u.ys)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?p(e.href,t):"category"===e.type&&(p(e.href,t)||m(e.items,t))}function g(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,u.ys)(o.href,n)||e(o.items))||"link"===o.type&&(0,u.ys)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function b(){const e=(0,s.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?g({sidebarItems:e.items,pathname:t}):null}function v(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,l.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)((()=>c([t,n,a].filter(Boolean))),[t,n,a])}function y(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\n Available sidebar ids are:\n - ${Object.keys(t).join("\n- ")}`);return r[1]}),[e,n])}function w(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`DocNavbarItem: couldn't find any doc with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function k(e){let{route:t,versionMetadata:n}=e;const r=(0,a.zy)(),i=t.routes,l=i.find((e=>(0,a.B6)(r.pathname,e)));if(!l)return null;const s=l.sidebar,c=s?n.docsSidebars[s]:void 0;return{docElement:(0,o.v)(i),sidebarName:s,sidebarItems:c}}},1003:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>u,Jx:()=>p});var r=n(6540),a=n(53),o=n(5260),i=n(3102);function l(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(6025),c=n(4586);function u(e){let{title:t,description:n,keywords:a,image:i,children:l}=e;const u=function(e){const{siteConfig:t}=(0,c.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.h)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.A,null,t&&r.createElement("title",null,u),t&&r.createElement("meta",{property:"og:title",content:u}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),l)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),l=(0,a.A)(i,t);return r.createElement(d.Provider,{value:l},r.createElement(o.A,null,r.createElement("html",{className:l})),n)}function p(e){let{children:t}=e;const n=l(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.A)(o,i)},t)}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>s,ZC:()=>i,_q:()=>o,dV:()=>l,fM:()=>c});var r=n(6540);const a=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function s(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>l,ys:()=>i});var r=n(6540),a=n(8328),o=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>d,Tv:()=>s,gk:()=>f});var r=n(6540),a=n(8193),o=n(2303),i=n(9532);const l=r.createContext(void 0);function s(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(l.Provider,{value:n},t)}function c(){const e=(0,r.useContext)(l);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const u=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(u()),o=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>r,tU:()=>a});n(4586);const r="default";function a(e,t){return`docs-${e}-${t}`}},9466:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,W:()=>l});const r="localStorage";function a(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,o||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),o=!0),null}var t}let o=!1;const i={get:()=>null,set:()=>{},del:()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t}}(e);const n=a(t?.persistence);return null===n?i:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{n.setItem(e,t)}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{n.removeItem(e)}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}}}}function s(e){void 0===e&&(e=r);const t=a(e);if(!t)return[];const n=[];for(let r=0;r{"use strict";n.d(t,{o:()=>o});var r=n(4586),a=n(6347);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.A)(),{pathname:i}=(0,a.zy)(),l=o===n?e:e.replace(`/${o}/`,"/"),s=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${l}`:`${l}${e}/`}(r)}${s}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),a=n(6347),o=n(9532);function i(e){const t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(4586);function a(){return(0,r.A)().siteConfig.themeConfig}},2983:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},440:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="post-content";var a=n(2983);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}})},53:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{"use strict";n.d(t,{zR:()=>w,TM:()=>_,yJ:()=>p,sC:()=>T,AO:()=>f});var r=n(8168);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var l=n(1561);function s(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var l=s(t),h=s(n),g=0;g{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,o,i,l],u=0;(s=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
    '};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,i(e,u,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),c=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},5228:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var o,i,l=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),s=1;s{"use strict";n.d(t,{A:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);S+=E.value.length,E=E.next){var A=E.value;if(t.length>e.length)return;if(!(A instanceof a)){var x,_=1;if(v){if(!(x=o(k,S,e,b))||x.index>=e.length)break;var C=x.index,T=x.index+x[0].length,L=S;for(L+=E.value.length;C>=L;)L+=(E=E.next).value.length;if(S=L-=E.value.length,E.value instanceof a)continue;for(var R=E;R!==t.tail&&(Ld.reach&&(d.reach=D);var I=E.prev;if(P&&(I=s(t,I,P),S+=P.length),c(t,I,_),E=s(t,I,new a(f,g?r.tokenize(N,g):N,y,N)),O&&s(t,E,O),_>1){var M={cause:f+","+m,reach:D};i(e,t,n,E.prev,S,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function c(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var l=f(/^\{$/,/^\}$/);if(-1===l)continue;for(var s=n;s=0&&p(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function l(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function s(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function c(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,s(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function u(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,u={},d=s(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=l(i++,r)););return u[n]=a,n})).join(""),n,r),f=Object.keys(u);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,l=o.indexOf(a);if(-1!==l){++i;var s=o.substring(0,l),d=c(u[a]),p=o.substring(l+a.length),m=[];if(s&&m.push(s),m.push(d),p){var h=[p];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},l=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var s=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(s=i(t[r-1])+s,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",s,null,s)}a.content&&"string"!=typeof a.content&&l(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||l(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=o.length);s++){var c=l[s];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],f="string"==typeof c?c:c.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++a;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof c?l.splice.apply(l,[s,1].concat(v)):c.content=v}}else c.content&&i(c.content)}return l}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),a=n(8380),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(3157).resolve(t)],delete Prism.languages[e],n(3157)(t),o.add(e)}))}i.silent=!1,e.exports=i},8692:(e,t,n)=>{var r={"./":8722};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=8692},3157:(e,t,n)=>{var r={"./":8722};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=3157},8380:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in a(t,o),l[t]=!0,n[t])l[i]=!0}t(s.require,c),t(s.optional,c),t(s.modify,c)}n[r]=l,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);i=i.map(c),l=(l||[]).map(c);var u=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var f,p=r(s),m=u;a(m);){for(var h in f={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(f[e]=!0)}))}for(var b in d)if(!(b in u))for(var v in p(b))if(v in u){f[b]=!0;break}for(var y in m=f)u[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,l={},s={};function c(e){if(e in l)return l[e];s[e]=!0;var a,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)a=r(e);else{var f=i(u.map((function(e){var t=c(e);return delete s[e],t})));o?a=o(f,(function(){return r(e)})):r(e)}return l[e]=a}for(var u in n)c(u);var d=[];for(var f in s)d.push(l[f]);return i(d)}(p,u,t,n)}};return w}}();e.exports=t},2694:(e,t,n)=>{"use strict";var r=n(6925);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),a=n(5228),o=n(9982);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n