From 095bceec8c739120e70e4f62534edcebc03af60f Mon Sep 17 00:00:00 2001 From: mlibre Date: Thu, 5 Oct 2023 21:29:50 +0000 Subject: [PATCH] Build docs --- docs/404.html | 8 +++---- docs/Health/index.html | 8 +++---- docs/Lovely Tools/index.html | 8 +++---- docs/ai/index.html | 8 +++---- docs/ai/langchain/index.html | 8 +++---- docs/ai/prompt/index.html | 8 +++---- docs/assets/js/089ea00c.41b0dd1d.js | 1 - docs/assets/js/089ea00c.bdb18a73.js | 1 + .../js/{main.69becc97.js => main.58dde7ef.js} | 4 ++-- ...CENSE.txt => main.58dde7ef.js.LICENSE.txt} | 0 ...n.0ffa6444.js => runtime~main.22d3f233.js} | 2 +- docs/blockchain/Bitcoin/index.html | 11 ++++----- .../Bitcoin/pow-from-scratch/index.html | 8 +++---- docs/blockchain/Cryptography/index.html | 8 +++---- .../Build a DEX from scratch/index.html | 8 +++---- docs/blockchain/Ethereum/CLI/index.html | 8 +++---- docs/blockchain/Ethereum/ERC1155/index.html | 8 +++---- docs/blockchain/Ethereum/ERC20/index.html | 8 +++---- docs/blockchain/Ethereum/ERC721/index.html | 8 +++---- docs/blockchain/Ethereum/MetaMask/index.html | 8 +++---- .../crowd-funding-using-library/index.html | 8 +++---- .../crowd-funding-with-deadline/index.html | 8 +++---- .../multi-sig-wallet/index.html | 8 +++---- .../voter/index.html | 8 +++---- docs/blockchain/Ethereum/Truffle/index.html | 8 +++---- docs/blockchain/Ethereum/index.html | 8 +++---- docs/blockchain/LBRY/index.html | 8 +++---- docs/blockchain/NEAR/CLI/index.html | 8 +++---- docs/blockchain/NEAR/SDK/index.html | 8 +++---- docs/blockchain/NEAR/index.html | 8 +++---- .../simple-exchange/MLB1-contract/index.html | 8 +++---- .../NEAR/simple-exchange/index.html | 8 +++---- .../PoS Bridge/erc1155-pos-bridge/index.html | 8 +++---- .../PoS Bridge/erc20-pos-bridge/index.html | 8 +++---- .../PoS Bridge/erc721-pos-bridge/index.html | 8 +++---- .../Polygon/Smart Contracts/index.html | 8 +++---- docs/blockchain/Polygon/index.html | 8 +++---- docs/blockchain/index.html | 8 +++---- docs/docusaurus/index.html | 8 +++---- docs/index.html | 8 +++---- docs/linux/access/index.html | 8 +++---- docs/linux/automation/index.html | 8 +++---- docs/linux/disk-file/index.html | 8 +++---- docs/linux/index.html | 8 +++---- docs/linux/log-monitoring/index.html | 8 +++---- docs/linux/multimedia/index.html | 8 +++---- docs/linux/other/index.html | 8 +++---- docs/linux/processes/index.html | 8 +++---- docs/linux/shell-scripting/index.html | 8 +++---- docs/linux/systemd/index.html | 8 +++---- docs/linux/text/index.html | 8 +++---- docs/linux/tools/index.html | 8 +++---- docs/lunr-index-1696532041223.json | 1 - docs/lunr-index-1696541343698.json | 1 + docs/lunr-index.json | 2 +- docs/network/basic/index.html | 8 +++---- docs/network/dns/index.html | 8 +++---- docs/network/index.html | 8 +++---- docs/network/other/index.html | 8 +++---- docs/network/ssh/index.html | 8 +++---- docs/network/vpn/index.html | 8 +++---- docs/raspberry pi/index.html | 8 +++---- docs/search-doc-1696532041223.json | 1 - docs/search-doc-1696541343698.json | 1 + docs/search-doc.json | 2 +- docs/tags/access-control/index.html | 8 +++---- docs/tags/ai/index.html | 8 +++---- docs/tags/automatic/index.html | 8 +++---- docs/tags/automation/index.html | 8 +++---- docs/tags/backup/index.html | 8 +++---- docs/tags/bash/index.html | 8 +++---- docs/tags/basic/index.html | 8 +++---- docs/tags/bitcoin/index.html | 8 +++---- docs/tags/blockchain/index.html | 8 +++---- docs/tags/cat/index.html | 8 +++---- docs/tags/cheat/index.html | 8 +++---- docs/tags/dd/index.html | 8 +++---- docs/tags/dex/index.html | 8 +++---- docs/tags/disk/index.html | 8 +++---- docs/tags/dns/index.html | 8 +++---- docs/tags/docusaurus/index.html | 8 +++---- docs/tags/editor/index.html | 8 +++---- docs/tags/erc-1155/index.html | 8 +++---- docs/tags/erc-20/index.html | 8 +++---- docs/tags/erc-721/index.html | 8 +++---- docs/tags/ethereum/index.html | 8 +++---- docs/tags/game/index.html | 8 +++---- docs/tags/ganache/index.html | 8 +++---- docs/tags/graphic/index.html | 8 +++---- docs/tags/grep/index.html | 8 +++---- docs/tags/gui/index.html | 8 +++---- docs/tags/health/index.html | 8 +++---- docs/tags/implementation/index.html | 8 +++---- docs/tags/index.html | 8 +++---- docs/tags/ipv-6/index.html | 8 +++---- docs/tags/journalctl/index.html | 8 +++---- docs/tags/langchain/index.html | 8 +++---- docs/tags/less/index.html | 8 +++---- docs/tags/linux/index.html | 8 +++---- docs/tags/ln/index.html | 8 +++---- docs/tags/log/index.html | 8 +++---- docs/tags/manjaro/index.html | 8 +++---- docs/tags/meta-mask/index.html | 8 +++---- docs/tags/mlibre/index.html | 8 +++---- docs/tags/monitor/index.html | 8 +++---- docs/tags/monitoring/index.html | 8 +++---- docs/tags/mount/index.html | 8 +++---- docs/tags/near/index.html | 8 +++---- docs/tags/network/index.html | 8 +++---- docs/tags/open-vpn/index.html | 8 +++---- docs/tags/permissions/index.html | 8 +++---- docs/tags/port-forwarding/index.html | 8 +++---- docs/tags/pow/index.html | 8 +++---- docs/tags/process/index.html | 8 +++---- docs/tags/prompt/index.html | 8 +++---- docs/tags/raspberry-pi/index.html | 8 +++---- docs/tags/restore/index.html | 8 +++---- docs/tags/ring-buffer/index.html | 8 +++---- docs/tags/rsync/index.html | 8 +++---- docs/tags/script/index.html | 8 +++---- docs/tags/service/index.html | 8 +++---- docs/tags/sheet/index.html | 8 +++---- docs/tags/shell/index.html | 8 +++---- docs/tags/shutdown/index.html | 8 +++---- docs/tags/socks/index.html | 8 +++---- docs/tags/split/index.html | 8 +++---- docs/tags/ssh/index.html | 8 +++---- docs/tags/startup/index.html | 8 +++---- docs/tags/syslog/index.html | 8 +++---- docs/tags/systemd/index.html | 8 +++---- docs/tags/text/index.html | 8 +++---- docs/tags/tools/index.html | 8 +++---- docs/tags/truffle/index.html | 8 +++---- docs/tags/tutorial/index.html | 8 +++---- docs/tags/vpn/index.html | 8 +++---- docs/tags/vscode/index.html | 8 +++---- docs/tags/vulkan/index.html | 8 +++---- docs/tags/windows-11/index.html | 8 +++---- docs/tags/wisdom-hub/index.html | 8 +++---- docs/tags/xdg/index.html | 8 +++---- docs/tags/zsh/index.html | 8 +++---- docs/vscode/index.html | 8 +++---- docusaurus/docs/blockchain/Bitcoin/btc.epgz | Bin 58543 -> 58409 bytes docusaurus/docs/blockchain/Bitcoin/readme.md | 21 ++++++++++++++++++ 144 files changed, 555 insertions(+), 533 deletions(-) delete mode 100644 docs/assets/js/089ea00c.41b0dd1d.js create mode 100644 docs/assets/js/089ea00c.bdb18a73.js rename docs/assets/js/{main.69becc97.js => main.58dde7ef.js} (99%) rename docs/assets/js/{main.69becc97.js.LICENSE.txt => main.58dde7ef.js.LICENSE.txt} (100%) rename docs/assets/js/{runtime~main.0ffa6444.js => runtime~main.22d3f233.js} (99%) delete mode 100644 docs/lunr-index-1696532041223.json create mode 100644 docs/lunr-index-1696541343698.json delete mode 100644 docs/search-doc-1696532041223.json create mode 100644 docs/search-doc-1696541343698.json diff --git a/docs/404.html b/docs/404.html index c644ed5ae..7a2f56479 100644 --- a/docs/404.html +++ b/docs/404.html @@ -4,13 +4,13 @@ Page Not Found | ☀️ - - + +
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/docs/Health/index.html b/docs/Health/index.html index d43c91433..1764a5b65 100644 --- a/docs/Health/index.html +++ b/docs/Health/index.html @@ -4,14 +4,14 @@ Health | ☀️ - - + +
Skip to main content

General

  • Avoid processed foods: sausages, processed or industrial sauces and oils, Processed drinks (soda, industrial malt, etc.)

  • Avoid artificial sweeteners and added sugar: processed chocolate milk, processed banana milk, processed fruit juice, and other artificially made combinations that contain unhealthy additives such as refined or added sugar and preservatives. These refined sugar weaken the immune system and have other negative effects

  • Limit daily milk intake to one glass maximum. Mixed with honey. Drinking more than one glass can be harmful.

  • Use bran bread: The bran is the outer layer of the grain and is rich in fiber, vitamins, minerals, and antioxidants. It provides essential nutrients like B vitamins, iron, magnesium, and dietary fiber

  • Do not drink water with meals. From half an hour before the meal to 1.5 hours after the meal. It puts pressure on the stomach.

  • Avoid straining to poop, as it can put pressure on the stomach.

  • Maintain your body's energy.

  • Avoid self-indulgence and masturbation, as it weakens the body.

  • Reduce stress levels, as stress weakens the immune system.

  • Going to bed late is not good for digestion. you should be Sleep by 11 max.

  • Sleep properly. Lie on your back or side, but not on your stomach.

  • Proper posture when sitting

  • Walking for at least 10 minutes in the sun before or after noon.

  • Take a shower at least twice a week. Showering is also exercise for your muscles.

Back, Neck, and Body

  • Do daily light core exercises. Perform a few sessions per day, such as 4 sessions.
  • Do isometric neck exercises to strengthen your neck muscles. make sure your head is not in the middle. For example, if you are doing resistance exercise in front of your head, your head better be slightly bent forward. Do this for all directions. several sessions per day, such as 3 sessions. Each movement 10 seconds or 10 repetitions.
  • Stay active and avoid keeping your neck still. Move your neck every 30 minutes.
  • Limit work to a maximum of 6 hours per day.
  • Avoid impact. Avoid carrying heavy bags
  • Avoid bumps and cars with weak shock absorbers.
  • Avoid bending your neck backward too much or keeping your neck bent backward for extended periods Foods
  • Mattresses: A medium-firm mattress is generally considered to be the best option. This is because it provides enough support to keep the spine in alignment, without being too firm that restrict your movement and may causing pain, or too soft and causing sinking and misalignment

Juice

  • Strawberry juice
  • Pineapple juice
  • Apple juice
  • Pomegranate juice
  • Mulberry juice
  • Carrot juice

Foods

  • Sesame seeds
  • Figs
  • Bananas
  • Lentils
  • Honey

Drinks

  • Honey boiled with lukewarm water + Chia seed
  • Honey with warm boiled water + Rose water
  • Honey with lukewarm boiled water + lemon

disinfection

  • 10 minutes of breathing onion or mint fumes. 3 onions
  • Lemon and honey
- - + + \ No newline at end of file diff --git a/docs/Lovely Tools/index.html b/docs/Lovely Tools/index.html index ad9c11357..49a4d46d1 100644 --- a/docs/Lovely Tools/index.html +++ b/docs/Lovely Tools/index.html @@ -4,13 +4,13 @@ Lovely Tools | ☀️ - - + +
Skip to main content

Lovely Tools

These are some of the lovely, simple, and friendly tools that I use:

  • Manjaro: A Linux operating system that is easy to use and customize
  • Pencil: A simple and lightweight text editor
  • BalenaEtcher: A tool for creating bootable USB drives
  • GParted: A tool for managing disk partitions
  • Firefox: A web browser that is fast, secure, and privacy-focused
  • KShutdown: A simple and easy-to-use shutdown timer
  • VLC: A media player that can play a wide variety of files
  • qBittorrent: A BitTorrent client that is free and open source
  • Stretchly: A productivity timer that helps you take breaks
  • Docusaurus: A static-site generator for creating documentation websites
  • QR Code Online

My ETH Address

0xc9b64496986E7b6D4A68fDF69eF132A35e91838e

- - + + \ No newline at end of file diff --git a/docs/ai/index.html b/docs/ai/index.html index ca0ef8d02..edbaf878e 100644 --- a/docs/ai/index.html +++ b/docs/ai/index.html @@ -4,13 +4,13 @@ AI | ☀️ - - + +
Skip to main content

Learn AI

Welcome to my AI tutorials!

Tutorials

This repository is organized into several sections, each containing tutorials for specific topics. Here's a brief overview:

My ETH Address

0xc9b64496986E7b6D4A68fDF69eF132A35e91838e

- - + + \ No newline at end of file diff --git a/docs/ai/langchain/index.html b/docs/ai/langchain/index.html index 2490e7b43..dbf8554d5 100644 --- a/docs/ai/langchain/index.html +++ b/docs/ai/langchain/index.html @@ -4,14 +4,14 @@ Langchain | ☀️ - - + +
Skip to main content

Langchain

LangChain is a framework for developing applications powered by language models

Install

python -m venv .venv
source .venv/bin/activate

pip install --upgrade pip
pip install langchain
pip install langchain[llms]
pip install langchain[all]
pip install huggingface_hub

Simple huggingface example

from langchain.llms import HuggingFaceHub
from langchain import PromptTemplate, LLMChain
import os

os.environ["HUGGINGFACEHUB_API_TOKEN"] = "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"

template = """Question: {question}

Answer: Let's think step by step."""

prompt = PromptTemplate(template=template, input_variables=["question"])

repo_id = "tiiuae/falcon-40b"
llm = HuggingFaceHub(
repo_id=repo_id, model_kwargs={"temperature": 0.5, "max_length": 64}
)

question = "Who won the FIFA World Cup in the year 1994? "

llm_chain = LLMChain(prompt=prompt, llm=llm)
print(llm_chain.run(question))
print("done")

References

https://python.langchain.com/docs/get_started/introduction.html https://github.com/langchain-ai/langchain

- - + + \ No newline at end of file diff --git a/docs/ai/prompt/index.html b/docs/ai/prompt/index.html index 33b9a9345..00f2efa3b 100644 --- a/docs/ai/prompt/index.html +++ b/docs/ai/prompt/index.html @@ -4,8 +4,8 @@ Prompt | ☀️ - - + +
@@ -13,7 +13,7 @@ The table has two columns only: 'Command', 'Description'. Make sure examples are real-world examples and are very useful. The table format is:

|               Command               | Description |
| :---------------------------------: | :---------: |
| `command1` | Description |
| `example of command 1` | Description |
| `advance example of command 1` | Description |
| `very advance example of command 1` | Description |
| `command2` | Description |
| `example of command 2` | Description |
| `advance example of command 2` | Description |
| `very advance example of command 2` | Description |

rewriting artiicle

I've written an article that needs improvement. I'm looking for help with:

Please assist in enhancing my markdown article.

- - + + \ No newline at end of file diff --git a/docs/assets/js/089ea00c.41b0dd1d.js b/docs/assets/js/089ea00c.41b0dd1d.js deleted file mode 100644 index 8c8b50bca..000000000 --- a/docs/assets/js/089ea00c.41b0dd1d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5326],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function r(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},d="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(n),u=i,m=d["".concat(l,".").concat(u)]||d[u]||h[u]||o;return n?a.createElement(m,r(r({ref:t},p),{},{components:n})):a.createElement(m,r({ref:t},p))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,r=new Array(o);r[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:i,r[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var a=n(7462),i=(n(7294),n(3905));const o={},r="Bitcoin",s={unversionedId:"blockchain/Bitcoin/readme",id:"blockchain/Bitcoin/readme",title:"Bitcoin",description:"A blockchain is a list of records, called blocks, which are linked and secured using cryptography.",source:"@site/docs/blockchain/Bitcoin/readme.md",sourceDirName:"blockchain/Bitcoin",slug:"/blockchain/Bitcoin/",permalink:"/Wisdom-Hub/blockchain/Bitcoin/",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Blockchain",permalink:"/Wisdom-Hub/blockchain/"},next:{title:"Simple implementation",permalink:"/Wisdom-Hub/blockchain/Bitcoin/pow-from-scratch/"}},l={},c=[{value:"Table of content",id:"table-of-content",level:2},{value:"Architecture",id:"architecture",level:2},{value:"Network Discovery",id:"network-discovery",level:3},{value:"Consensus",id:"consensus",level:2},{value:"Incentives",id:"incentives",level:2},{value:"Addresses And Wallets",id:"addresses-and-wallets",level:2},{value:"Transaction",id:"transaction",level:2},{value:"Longest chain",id:"longest-chain",level:2},{value:"Chain Reorganisation",id:"chain-reorganisation",level:2},{value:"Double Spending",id:"double-spending",level:2},{value:"Where do bitcoins come from?",id:"where-do-bitcoins-come-from",level:2},{value:"Simple POW Blockchain in nodejs",id:"simple-pow-blockchain-in-nodejs",level:2},{value:"References",id:"references",level:2},{value:"My Bitcoin Address",id:"my-bitcoin-address",level:2}],p={toc:c},d="wrapper";function h(e){let{components:t,...n}=e;return(0,i.kt)(d,(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"bitcoin"},"Bitcoin"),(0,i.kt)("p",null,"A ",(0,i.kt)("inlineCode",{parentName:"p"},"blockchain")," is a list of records, called blocks, which are linked and secured using cryptography.",(0,i.kt)("br",{parentName:"p"}),"\n","Each block contains a cryptographic hash of the previous block, a timestamp, and a list of transactions.",(0,i.kt)("br",{parentName:"p"}),"\n","A blockchain is simply a public distributed ledger, and ",(0,i.kt)("inlineCode",{parentName:"p"},"bitcoin")," is a ",(0,i.kt)("inlineCode",{parentName:"p"},"blockchain"),". "),(0,i.kt)("p",null,"I have also implemented a simple Proof-of-Work (POW) blockchain like bitcoin, you can find it ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/mlibre/blockchain/tree/master/Tutorials/Bitcoin/pow-from-scratch"},"here")),(0,i.kt)("h2",{id:"table-of-content"},"Table of content"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#architecture"},"Architecture")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#consensus"},"Consensus")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#incentives"},"Incentives")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#addresses-and-wallets"},"Addresses And Wallets")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#transaction"},"Transaction")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#longest-chain"},"Longest chain")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#double-spending"},"Double Spending")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#where-do-bitcoins-come-from"},"Where do bitcoins come from?")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#simple-pow-blockchain-in-nodejs"},"Simple POW Blockchain in nodejs")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#references"},"References")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"#my-bitcoin-address"},"My Bitcoin Address"))),(0,i.kt)("h2",{id:"architecture"},"Architecture"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"Bitcoin")," network is a ",(0,i.kt)("inlineCode",{parentName:"p"},"decentralized peer-to-peer")," network, meaning that it operates without a central authority or server. Nodes, connect to each other directly, allowing data to be shared and stored. "),(0,i.kt)("p",null,"Bitcoin combines its ",(0,i.kt)("strong",{parentName:"p"},"network"),", ",(0,i.kt)("strong",{parentName:"p"},"cryptocurrency"),", and ",(0,i.kt)("strong",{parentName:"p"},"blockchain")," to record transactions transparently, prevent double spending, and ensure consensus via a process called ",(0,i.kt)("strong",{parentName:"p"},"proof-of-work")),(0,i.kt)("h3",{id:"network-discovery"},"Network Discovery"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Network Discovery")," or ",(0,i.kt)("strong",{parentName:"p"},"Peer Discovery")," in Bitcoin refers to the process by which nodes in the Bitcoin network find and connect with each other. When a new node joins the network, it starts to discover other nodes to connect with in order to participate in the network. This is typically done through a process called ",(0,i.kt)("inlineCode",{parentName:"p"},"bootstrapping"),"."),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"When started for the first time, programs don\u2019t know the ",(0,i.kt)("strong",{parentName:"p"},"IP addresses")," of any active full ",(0,i.kt)("strong",{parentName:"p"},"nodes"),". In order to ",(0,i.kt)("strong",{parentName:"p"},"discover")," some IP addresses, they ",(0,i.kt)("strong",{parentName:"p"},"query")," one or more ",(0,i.kt)("inlineCode",{parentName:"p"},"DNS seeds")," hardcoded into ",(0,i.kt)("inlineCode",{parentName:"p"},"Bitcoin Core")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"BitcoinJ"),". The response to the lookup should include one or more DNS A records with the IP addresses of full nodes that may accept new incoming connections. For example, using the ",(0,i.kt)("inlineCode",{parentName:"p"},"dig")," command:"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"dig seed.bitcoin.sipa.be\n\n;; ANSWER SECTION:\nseed.bitcoin.sipa.be. 3600 IN A 185.14.30.25\nseed.bitcoin.sipa.be. 3600 IN A 18.213.155.196\nseed.bitcoin.sipa.be. 3600 IN A 176.9.150.253\nseed.bitcoin.sipa.be. 3600 IN A 79.137.224.63\nseed.bitcoin.sipa.be. 3600 IN A 76.138.214.41\n")),(0,i.kt)("blockquote",{parentName:"li"},(0,i.kt)("p",{parentName:"blockquote"},"DNS seed: A DNS server which returns IP addresses of full nodes on the Bitcoin network to assist in peer discovery."))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Once a program has connected to the network, its ",(0,i.kt)("inlineCode",{parentName:"p"},"peers")," can begin to send it ",(0,i.kt)("inlineCode",{parentName:"p"},"addr")," (address) messages with the ",(0,i.kt)("inlineCode",{parentName:"p"},"IP addresses")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"port numbers of other peers")," on the network, providing a fully decentralized method of peer discovery. ",(0,i.kt)("inlineCode",{parentName:"p"},"Bitcoin Core")," keeps a record of known peers in a ",(0,i.kt)("strong",{parentName:"p"},"persistent on-disk database")," which usually allows it to connect directly to those peers on subsequent startups without having to use DNS seeds"))),(0,i.kt)("h2",{id:"consensus"},"Consensus"),(0,i.kt)("p",null,"Bitcoin achieves consensus through a process called ",(0,i.kt)("inlineCode",{parentName:"p"},"proof-of-work mining"),". Miners spend computational resources to find a solution to a cryptographic puzzle, and whichever miner finds the solution is able to create the next block."),(0,i.kt)("h2",{id:"incentives"},"Incentives"),(0,i.kt)("p",null,"The Bitcoin protocol offers two main incentives for mining:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Block rewards: New bitcoins are minted with each block, and the miner who finds the block receives the block reward"),(0,i.kt)("li",{parentName:"ul"},"Transaction fees: Each transaction on the Bitcoin network includes a transaction fee, paid to the miner who includes that transaction in a block")),(0,i.kt)("h2",{id:"addresses-and-wallets"},"Addresses And Wallets"),(0,i.kt)("p",null,"There is no such thing as a ",(0,i.kt)("inlineCode",{parentName:"p"},"Wallet")," in the Bitcoin network. It is ",(0,i.kt)("inlineCode",{parentName:"p"},"abstract"),". "),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Address")),(0,i.kt)("p",null,"An address is a hash of a bitcoin public-key wallet.",(0,i.kt)("br",{parentName:"p"}),"\n","You can use an address as many as you want to send and receive Bitcoin. "),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Wallet")),(0,i.kt)("p",null,"A wallet is a software program that stores ",(0,i.kt)("inlineCode",{parentName:"p"},"key-pairs"),", created ",(0,i.kt)("inlineCode",{parentName:"p"},"addresses"),", and other information needed to access and manage your ",(0,i.kt)("inlineCode",{parentName:"p"},"Bitcoins"),". "),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Key-pairs")),(0,i.kt)("p",null,"Key-pairs are a public key of an address to which some amount bitcoin was previously sent and the corresponding unique private key, which authorizes the bitcoin previously sent to the above public key (address) to be sent elsewhere."),(0,i.kt)("h2",{id:"transaction"},"Transaction"),(0,i.kt)("p",null,"A ",(0,i.kt)("inlineCode",{parentName:"p"},"Bitcoin")," ",(0,i.kt)("inlineCode",{parentName:"p"},"transaction")," is a transfer of Bitcoins from one user to another. It is a data structure that contains several fields, including inputs, outputs, and other metadata.",(0,i.kt)("br",{parentName:"p"}),"\n","When a ",(0,i.kt)("inlineCode",{parentName:"p"},"Bitcoin")," transaction is created, it is ",(0,i.kt)("inlineCode",{parentName:"p"},"broadcast")," to the Bitcoin network and propagated to all ",(0,i.kt)("inlineCode",{parentName:"p"},"nodes")," on the network. Each node verifies the transaction by checking that the digital signatures in the inputs field are valid. Once the transaction is verified by the nodes, it is added to the ",(0,i.kt)("inlineCode",{parentName:"p"},"mempool"),", which is a pool of ",(0,i.kt)("inlineCode",{parentName:"p"},"unconfirmed transactions")," ",(0,i.kt)("inlineCode",{parentName:"p"},"waiting")," to be ",(0,i.kt)("inlineCode",{parentName:"p"},"included")," in the ",(0,i.kt)("inlineCode",{parentName:"p"},"next block"),"."),(0,i.kt)("p",null,"A transaction components are:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Inputs - Information about the Bitcoin previously sent to Mark's address. For example, imagine Mark previously received 0.6 BTC from Alice and 0.6 BTC from Bob. Now, in order to send 1 BTC to Jessica, there might be two inputs: one input of 0.6 BTC previously from Alice and one input of 0.6 BTC previously from Bob."),(0,i.kt)("li",{parentName:"ul"},"Amount - The amount being sent, In this case Mark wants to send 1 BTC."),(0,i.kt)("li",{parentName:"ul"},"Outputs - The destination addresses of the Bitcoins. The first is 1.2 BTC (0.6 BTC + 0.6 BTC) to Jessica\u2019s public address. The second is 0.2 BTC returned as 'change' to Mark.")),(0,i.kt)("h2",{id:"longest-chain"},"Longest chain"),(0,i.kt)("p",null,"The ",(0,i.kt)("strong",{parentName:"p"},"longest chain")," refers to the chain of blocks that the majority of nodes on the network agree to and adopt as the authoritative blockchain. The longest chain is not determined by the number of blocks but by the amount of computational power or energy used to mine the blocks in the chain."),(0,i.kt)("h2",{id:"chain-reorganisation"},"Chain Reorganisation"),(0,i.kt)("p",null,"A ",(0,i.kt)("strong",{parentName:"p"},"chain reorganisation")," takes place when your node receives blocks that are part of a new ",(0,i.kt)("strong",{parentName:"p"},"longest chain"),". Your node will ",(0,i.kt)("strong",{parentName:"p"},"deactivate")," blocks in its ",(0,i.kt)("strong",{parentName:"p"},"old longest chain")," in favour of the blocks that build the new longest chain. "),(0,i.kt)("p",null,"A chain reorganisation most commonly takes place after ",(0,i.kt)("strong",{parentName:"p"},"two blocks have been mined")," at the same time."),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"next block")," to be mined will build upon one of these two blocks, creating a new longest chain that all nodes on the network will be happy to adopt"),(0,i.kt)("h2",{id:"double-spending"},"Double Spending"),(0,i.kt)("p",null,"Double spending is when someone (A) tries spending the same bitcoin twice. Bitcoin network prevents this.",(0,i.kt)("br",{parentName:"p"}),"\n","When A broadcast the two transactions, they will go in unconfirmed transactions' pools. From there when a miner (X) validates the first transaction, the bitcoin will be sent to the new owner. so X will invalidate the second transaction because A is not the owner of the bitcoin anymore. But if the two transactions gets validated and mined by two different miners and gets added to the next block. it means there are two different blockchains now. (one with the first transaction and one with the second transaction). Now Chain Reorganisation comes into play. miners will always accept the longest chain. "),(0,i.kt)("h2",{id:"where-do-bitcoins-come-from"},"Where do bitcoins come from?"),(0,i.kt)("p",null,"As an incentive to use processing power to try and add new blocks of transactions on to the blockchain, each new block makes available a fixed amount of bitcoins that did not previously exist. Therefore, if you are able to successfully mine a block, you are able to \u201csend\u201d yourself these new bitcoins as a reward for your effort."),(0,i.kt)("h2",{id:"simple-pow-blockchain-in-nodejs"},"Simple POW Blockchain in nodejs"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/mlibre/blockchain/tree/master/Tutorials/Bitcoin/pow-from-scratch"},"Here you can find a simple complete POW blockchain written in nodejs")),(0,i.kt)("h2",{id:"references"},"References"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://www.bitcoin.com/get-started/"},"https://www.bitcoin.com/get-started/")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://academy.binance.com/en/articles/double-spending-explained"},"https://academy.binance.com/en/articles/double-spending-explained")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=phLSjZdDc5A"},"https://www.youtube.com/watch?v=phLSjZdDc5A")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://learnmeabitcoin.com/technical/longest-chain"},"https://learnmeabitcoin.com/technical/longest-chain"))),(0,i.kt)("h2",{id:"my-bitcoin-address"},"My Bitcoin Address"),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"bc1qgwu903shgs4fse3s8u2vsufrsaxhnz26skqmzu")))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/docs/assets/js/089ea00c.bdb18a73.js b/docs/assets/js/089ea00c.bdb18a73.js new file mode 100644 index 000000000..69e851d58 --- /dev/null +++ b/docs/assets/js/089ea00c.bdb18a73.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5326],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function r(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},h="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},k=a.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),h=c(n),k=o,m=h["".concat(l,".").concat(k)]||h[k]||d[k]||i;return n?a.createElement(m,r(r({ref:t},p),{},{components:n})):a.createElement(m,r({ref:t},p))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,r=new Array(i);r[0]=k;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[h]="string"==typeof e?e:o,r[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var a=n(7462),o=(n(7294),n(3905));const i={},r="Bitcoin",s={unversionedId:"blockchain/Bitcoin/readme",id:"blockchain/Bitcoin/readme",title:"Bitcoin",description:"A blockchain is a list of records, called blocks, which are linked and secured using cryptography.",source:"@site/docs/blockchain/Bitcoin/readme.md",sourceDirName:"blockchain/Bitcoin",slug:"/blockchain/Bitcoin/",permalink:"/Wisdom-Hub/blockchain/Bitcoin/",draft:!1,tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Blockchain",permalink:"/Wisdom-Hub/blockchain/"},next:{title:"Simple implementation",permalink:"/Wisdom-Hub/blockchain/Bitcoin/pow-from-scratch/"}},l={},c=[{value:"Table of content",id:"table-of-content",level:2},{value:"Architecture",id:"architecture",level:2},{value:"Network Discovery",id:"network-discovery",level:3},{value:"Consensus",id:"consensus",level:2},{value:"Incentives",id:"incentives",level:2},{value:"Addresses And Wallets",id:"addresses-and-wallets",level:2},{value:"Transaction",id:"transaction",level:2},{value:"Longest chain",id:"longest-chain",level:2},{value:"Chain Reorganisation",id:"chain-reorganisation",level:2},{value:"Double Spending",id:"double-spending",level:2},{value:"Where do bitcoins come from?",id:"where-do-bitcoins-come-from",level:2},{value:"Merkle Root",id:"merkle-root",level:2},{value:"Simple POW Blockchain in nodejs",id:"simple-pow-blockchain-in-nodejs",level:2},{value:"References",id:"references",level:2},{value:"My Bitcoin Address",id:"my-bitcoin-address",level:2}],p={toc:c},h="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(h,(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"bitcoin"},"Bitcoin"),(0,o.kt)("p",null,"A ",(0,o.kt)("inlineCode",{parentName:"p"},"blockchain")," is a list of records, called blocks, which are linked and secured using cryptography.",(0,o.kt)("br",{parentName:"p"}),"\n","Each block contains a cryptographic hash of the previous block, a timestamp, and a list of transactions.",(0,o.kt)("br",{parentName:"p"}),"\n","A blockchain is simply a public distributed ledger, and ",(0,o.kt)("inlineCode",{parentName:"p"},"bitcoin")," is a ",(0,o.kt)("inlineCode",{parentName:"p"},"blockchain"),". "),(0,o.kt)("p",null,"I have also implemented a simple Proof-of-Work (POW) blockchain like bitcoin, you can find it ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/mlibre/blockchain/tree/master/Tutorials/Bitcoin/pow-from-scratch"},"here")),(0,o.kt)("h2",{id:"table-of-content"},"Table of content"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#architecture"},"Architecture")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#consensus"},"Consensus")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#incentives"},"Incentives")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#addresses-and-wallets"},"Addresses And Wallets")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#transaction"},"Transaction")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#longest-chain"},"Longest chain")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#double-spending"},"Double Spending")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#where-do-bitcoins-come-from"},"Where do bitcoins come from?")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#simple-pow-blockchain-in-nodejs"},"Simple POW Blockchain in nodejs")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#references"},"References")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#my-bitcoin-address"},"My Bitcoin Address"))),(0,o.kt)("h2",{id:"architecture"},"Architecture"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"Bitcoin")," network is a ",(0,o.kt)("inlineCode",{parentName:"p"},"decentralized peer-to-peer")," network, meaning that it operates without a central authority or server. Nodes, connect to each other directly, allowing data to be shared and stored. "),(0,o.kt)("p",null,"Bitcoin combines its ",(0,o.kt)("strong",{parentName:"p"},"network"),", ",(0,o.kt)("strong",{parentName:"p"},"cryptocurrency"),", and ",(0,o.kt)("strong",{parentName:"p"},"blockchain")," to record transactions transparently, prevent double spending, and ensure consensus via a process called ",(0,o.kt)("strong",{parentName:"p"},"proof-of-work")),(0,o.kt)("h3",{id:"network-discovery"},"Network Discovery"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Network Discovery")," or ",(0,o.kt)("strong",{parentName:"p"},"Peer Discovery")," in Bitcoin refers to the process by which nodes in the Bitcoin network find and connect with each other. When a new node joins the network, it starts to discover other nodes to connect with in order to participate in the network. This is typically done through a process called ",(0,o.kt)("inlineCode",{parentName:"p"},"bootstrapping"),"."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"When started for the first time, programs don\u2019t know the ",(0,o.kt)("strong",{parentName:"p"},"IP addresses")," of any active full ",(0,o.kt)("strong",{parentName:"p"},"nodes"),". In order to ",(0,o.kt)("strong",{parentName:"p"},"discover")," some IP addresses, they ",(0,o.kt)("strong",{parentName:"p"},"query")," one or more ",(0,o.kt)("inlineCode",{parentName:"p"},"DNS seeds")," hardcoded into ",(0,o.kt)("inlineCode",{parentName:"p"},"Bitcoin Core")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"BitcoinJ"),". The response to the lookup should include one or more DNS A records with the IP addresses of full nodes that may accept new incoming connections. For example, using the ",(0,o.kt)("inlineCode",{parentName:"p"},"dig")," command:"),(0,o.kt)("pre",{parentName:"li"},(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"dig seed.bitcoin.sipa.be\n\n;; ANSWER SECTION:\nseed.bitcoin.sipa.be. 3600 IN A 185.14.30.25\nseed.bitcoin.sipa.be. 3600 IN A 18.213.155.196\nseed.bitcoin.sipa.be. 3600 IN A 176.9.150.253\nseed.bitcoin.sipa.be. 3600 IN A 79.137.224.63\nseed.bitcoin.sipa.be. 3600 IN A 76.138.214.41\n")),(0,o.kt)("blockquote",{parentName:"li"},(0,o.kt)("p",{parentName:"blockquote"},"DNS seed: A DNS server which returns IP addresses of full nodes on the Bitcoin network to assist in peer discovery."))),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Once a program has connected to the network, its ",(0,o.kt)("inlineCode",{parentName:"p"},"peers")," can begin to send it ",(0,o.kt)("inlineCode",{parentName:"p"},"addr")," (address) messages with the ",(0,o.kt)("inlineCode",{parentName:"p"},"IP addresses")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"port numbers of other peers")," on the network, providing a fully decentralized method of peer discovery. ",(0,o.kt)("inlineCode",{parentName:"p"},"Bitcoin Core")," keeps a record of known peers in a ",(0,o.kt)("strong",{parentName:"p"},"persistent on-disk database")," which usually allows it to connect directly to those peers on subsequent startups without having to use DNS seeds"))),(0,o.kt)("h2",{id:"consensus"},"Consensus"),(0,o.kt)("p",null,"Bitcoin achieves consensus through a process called ",(0,o.kt)("inlineCode",{parentName:"p"},"proof-of-work mining"),". Miners spend computational resources to find a solution to a cryptographic puzzle, and whichever miner finds the solution is able to create the next block."),(0,o.kt)("h2",{id:"incentives"},"Incentives"),(0,o.kt)("p",null,"The Bitcoin protocol offers two main incentives for mining:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Block rewards: New bitcoins are minted with each block, and the miner who finds the block receives the block reward"),(0,o.kt)("li",{parentName:"ul"},"Transaction fees: Each transaction on the Bitcoin network includes a transaction fee, paid to the miner who includes that transaction in a block")),(0,o.kt)("h2",{id:"addresses-and-wallets"},"Addresses And Wallets"),(0,o.kt)("p",null,"There is no such thing as a ",(0,o.kt)("inlineCode",{parentName:"p"},"Wallet")," in the Bitcoin network. It is ",(0,o.kt)("inlineCode",{parentName:"p"},"abstract"),". "),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Address")),(0,o.kt)("p",null,"An address is a hash of a bitcoin public-key wallet.",(0,o.kt)("br",{parentName:"p"}),"\n","You can use an address as many as you want to send and receive Bitcoin. "),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Wallet")),(0,o.kt)("p",null,"A wallet is a software program that stores ",(0,o.kt)("inlineCode",{parentName:"p"},"key-pairs"),", created ",(0,o.kt)("inlineCode",{parentName:"p"},"addresses"),", and other information needed to access and manage your ",(0,o.kt)("inlineCode",{parentName:"p"},"Bitcoins"),". "),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Key-pairs")),(0,o.kt)("p",null,"Key-pairs are a public key of an address to which some amount bitcoin was previously sent and the corresponding unique private key, which authorizes the bitcoin previously sent to the above public key (address) to be sent elsewhere."),(0,o.kt)("h2",{id:"transaction"},"Transaction"),(0,o.kt)("p",null,"A ",(0,o.kt)("inlineCode",{parentName:"p"},"Bitcoin")," ",(0,o.kt)("inlineCode",{parentName:"p"},"transaction")," is a transfer of Bitcoins from one user to another. It is a data structure that contains several fields, including inputs, outputs, and other metadata.",(0,o.kt)("br",{parentName:"p"}),"\n","When a ",(0,o.kt)("inlineCode",{parentName:"p"},"Bitcoin")," transaction is created, it is ",(0,o.kt)("inlineCode",{parentName:"p"},"broadcast")," to the Bitcoin network and propagated to all ",(0,o.kt)("inlineCode",{parentName:"p"},"nodes")," on the network. Each node verifies the transaction by checking that the digital signatures in the inputs field are valid. Once the transaction is verified by the nodes, it is added to the ",(0,o.kt)("inlineCode",{parentName:"p"},"mempool"),", which is a pool of ",(0,o.kt)("inlineCode",{parentName:"p"},"unconfirmed transactions")," ",(0,o.kt)("inlineCode",{parentName:"p"},"waiting")," to be ",(0,o.kt)("inlineCode",{parentName:"p"},"included")," in the ",(0,o.kt)("inlineCode",{parentName:"p"},"next block"),"."),(0,o.kt)("p",null,"A transaction components are:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Inputs - Information about the Bitcoin previously sent to Mark's address. For example, imagine Mark previously received 0.6 BTC from Alice and 0.6 BTC from Bob. Now, in order to send 1 BTC to Jessica, there might be two inputs: one input of 0.6 BTC previously from Alice and one input of 0.6 BTC previously from Bob."),(0,o.kt)("li",{parentName:"ul"},"Amount - The amount being sent, In this case Mark wants to send 1 BTC."),(0,o.kt)("li",{parentName:"ul"},"Outputs - The destination addresses of the Bitcoins. The first is 1.2 BTC (0.6 BTC + 0.6 BTC) to Jessica\u2019s public address. The second is 0.2 BTC returned as 'change' to Mark.")),(0,o.kt)("h2",{id:"longest-chain"},"Longest chain"),(0,o.kt)("p",null,"The ",(0,o.kt)("strong",{parentName:"p"},"longest chain")," refers to the chain of blocks that the majority of nodes on the network agree to and adopt as the authoritative blockchain. The longest chain is not determined by the number of blocks but by the amount of computational power or energy used to mine the blocks in the chain."),(0,o.kt)("h2",{id:"chain-reorganisation"},"Chain Reorganisation"),(0,o.kt)("p",null,"A ",(0,o.kt)("strong",{parentName:"p"},"chain reorganisation")," takes place when your node receives blocks that are part of a new ",(0,o.kt)("strong",{parentName:"p"},"longest chain"),". Your node will ",(0,o.kt)("strong",{parentName:"p"},"deactivate")," blocks in its ",(0,o.kt)("strong",{parentName:"p"},"old longest chain")," in favour of the blocks that build the new longest chain. "),(0,o.kt)("p",null,"A chain reorganisation most commonly takes place after ",(0,o.kt)("strong",{parentName:"p"},"two blocks have been mined")," at the same time."),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"next block")," to be mined will build upon one of these two blocks, creating a new longest chain that all nodes on the network will be happy to adopt"),(0,o.kt)("h2",{id:"double-spending"},"Double Spending"),(0,o.kt)("p",null,"Double spending is when someone (A) tries spending the same bitcoin twice. Bitcoin network prevents this.",(0,o.kt)("br",{parentName:"p"}),"\n","When A broadcast the two transactions, they will go in unconfirmed transactions' pools. From there when a miner (X) validates the first transaction, the bitcoin will be sent to the new owner. so X will invalidate the second transaction because A is not the owner of the bitcoin anymore. But if the two transactions gets validated and mined by two different miners and gets added to the next block. it means there are two different blockchains now. (one with the first transaction and one with the second transaction). Now Chain Reorganisation comes into play. miners will always accept the longest chain. "),(0,o.kt)("h2",{id:"where-do-bitcoins-come-from"},"Where do bitcoins come from?"),(0,o.kt)("p",null,"As an incentive to use processing power to try and add new blocks of transactions on to the blockchain, each new block makes available a fixed amount of bitcoins that did not previously exist. Therefore, if you are able to successfully mine a block, you are able to \u201csend\u201d yourself these new bitcoins as a reward for your effort."),(0,o.kt)("h2",{id:"merkle-root"},"Merkle Root"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"Merkle root")," is an important part of how blocks in the Bitcoin blockchain are linked together securely. Each new block contains a hash of the ",(0,o.kt)("strong",{parentName:"p"},"previous block's header"),". This connects the blocks in a chain, because if anything changes in a previous block, the hash will change too."),(0,o.kt)("p",null,"Specifically, each block header contains a ",(0,o.kt)("inlineCode",{parentName:"p"},"Merkle root")," hash representing all the transactions in that block. If even a single transaction in the block were ",(0,o.kt)("strong",{parentName:"p"},"modified"),", it would cause the ",(0,o.kt)("strong",{parentName:"p"},"Merkle root to change"),". This would make the block's overall ",(0,o.kt)("strong",{parentName:"p"},"header hash")," change too."),(0,o.kt)("p",null,"So the ",(0,o.kt)("inlineCode",{parentName:"p"},"Merkle root")," allows any changes to previous transactions to be detected. If a transaction were deleted from a previous block, the Merkle root in the header of all following blocks would change. This would break the chain of hashes connecting the blocks."),(0,o.kt)("p",null,"You might wonder why we don't simply ",(0,o.kt)("strong",{parentName:"p"},"hash all transactions")," together to create a ",(0,o.kt)("inlineCode",{parentName:"p"},"transactions hash")," field in the block header, instead of hashing them in ",(0,o.kt)("strong",{parentName:"p"},"pairs")," to create a ",(0,o.kt)("inlineCode",{parentName:"p"},"Merkle root"),".",(0,o.kt)("br",{parentName:"p"}),"\n","While hashing all transactions together would ensure data ",(0,o.kt)("strong",{parentName:"p"},"integrity"),", it would ",(0,o.kt)("strong",{parentName:"p"},"not be efficient")," for ",(0,o.kt)("strong",{parentName:"p"},"verification"),". For instance, if a node wants to verify that a transaction is contained in a block (which has, let's say, 100 transactions), it would need to download and hash all 99 other transactions hashes. If the resulting hash matches the expected hash, then the transaction is confirmed to be in the block."),(0,o.kt)("p",null,"However, with a Merkle tree, the process is much more efficient. The node only needs to obtain a few ",(0,o.kt)("inlineCode",{parentName:"p"},"Merkle proofs"),". With a simple mathematical algorithm, it can confirm that the transaction is indeed included in the block. This is because Merkle trees allow for the proof of data belonging to a set without needing to store the entire set."),(0,o.kt)("p",null,"For instance, to prove that a specific transaction 'a' is part of a Merkle tree, everyone in the network will be aware of the hash function used by all Merkle trees. The hash of 'a' and its corresponding hash are hashed together, moving up the tree until the ",(0,o.kt)("strong",{parentName:"p"},"root hash"),", which is ",(0,o.kt)("strong",{parentName:"p"},"publicly known"),", is obtained. By comparing the obtained ",(0,o.kt)("strong",{parentName:"p"},"Merkle root")," and the ",(0,o.kt)("strong",{parentName:"p"},"Merkle root")," already available within the block header, the presence of transaction 'a' in this block can be verified. From this example, it is clear that in order to verify the presence of 'a', 'a' does not have to be revealed, nor do the other transactions have to be revealed; only some of their hashes are sufficient. This makes ",(0,o.kt)("strong",{parentName:"p"},"Merkle proof")," an efficient and simple method of verifying inclusivity."),(0,o.kt)("p",null,"The ",(0,o.kt)("strong",{parentName:"p"},"mathematical")," process of verifying a Merkle proof involves hashing the value in question with the hashes provided in the proof, iteratively, until you arrive at a computed Merkle root. If this computed root matches the known Merkle root of the block, the proof is valid, and the transaction is confirmed to be part of the block"),(0,o.kt)("p",null,"When you broadcast a transaction to the Bitcoin network, your wallet can download the new block headers and check if the transaction it created for you is included in the new block or not. This is made possible by the Merkle Tree structure."),(0,o.kt)("h2",{id:"simple-pow-blockchain-in-nodejs"},"Simple POW Blockchain in nodejs"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/mlibre/blockchain/tree/master/Tutorials/Bitcoin/pow-from-scratch"},"Here you can find a simple complete POW blockchain written in nodejs")),(0,o.kt)("h2",{id:"references"},"References"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://www.bitcoin.com/get-started/"},"https://www.bitcoin.com/get-started/")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://academy.binance.com/en/articles/double-spending-explained"},"https://academy.binance.com/en/articles/double-spending-explained")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=phLSjZdDc5A"},"https://www.youtube.com/watch?v=phLSjZdDc5A")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://learnmeabitcoin.com/technical/longest-chain"},"https://learnmeabitcoin.com/technical/longest-chain")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://www.geeksforgeeks.org/blockchain-merkle-trees/"},"https://www.geeksforgeeks.org/blockchain-merkle-trees/")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://www.geeksforgeeks.org/blockchain-merkle-trees/"},"https://www.geeksforgeeks.org/blockchain-merkle-trees/"))),(0,o.kt)("h2",{id:"my-bitcoin-address"},"My Bitcoin Address"),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"bc1qgwu903shgs4fse3s8u2vsufrsaxhnz26skqmzu")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/docs/assets/js/main.69becc97.js b/docs/assets/js/main.58dde7ef.js similarity index 99% rename from docs/assets/js/main.69becc97.js rename to docs/assets/js/main.58dde7ef.js index ba1e9b7d1..08924f68c 100644 --- a/docs/assets/js/main.69becc97.js +++ b/docs/assets/js/main.58dde7ef.js @@ -1,2 +1,2 @@ -/*! For license information please see main.69becc97.js.LICENSE.txt */ -(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(7462),o=n(8356),i=n.n(o),s=n(6887);const l={"00386a24":[()=>n.e(1366).then(n.t.bind(n,685,19)),"~docs/default/tag-wisdom-hub-tags-vscode-310.json",685],"0267278e":[()=>n.e(207).then(n.t.bind(n,1705,19)),"~docs/default/tag-wisdom-hub-tags-langchain-1a7.json",1705],"05bd16ad":[()=>n.e(2239).then(n.bind(n,6189)),"@site/docs/blockchain/Ethereum/CLI.md",6189],"06c16bc1":[()=>n.e(9053).then(n.t.bind(n,2918,19)),"~docs/default/tag-wisdom-hub-tags-cat-b9a.json",2918],"06def0a1":[()=>n.e(2534).then(n.t.bind(n,2793,19)),"~docs/default/tag-wisdom-hub-tags-backup-56b.json",2793],"0814b3ee":[()=>n.e(7278).then(n.t.bind(n,8139,19)),"~docs/default/tag-wisdom-hub-tags-cheat-eae.json",8139],"089ea00c":[()=>n.e(5326).then(n.bind(n,8748)),"@site/docs/blockchain/Bitcoin/readme.md",8748],"0d3f1f56":[()=>n.e(7437).then(n.t.bind(n,9806,19)),"~docs/default/tag-wisdom-hub-tags-vulkan-480.json",9806],"0d726ec9":[()=>n.e(8020).then(n.t.bind(n,6354,19)),"~docs/default/tag-wisdom-hub-tags-zsh-619.json",6354],"11cdba9e":[()=>n.e(9224).then(n.t.bind(n,5383,19)),"~docs/default/tag-wisdom-hub-tags-prompt-de5.json",5383],"12c9fd0c":[()=>n.e(4931).then(n.bind(n,4834)),"@site/docs/blockchain/Polygon/PoS Bridge/erc20-pos-bridge.md",4834],"12d34978":[()=>n.e(2474).then(n.bind(n,6687)),"@site/docs/ai/langchain.md",6687],"141d9d6c":[()=>n.e(6738).then(n.bind(n,4905)),"@site/docs/blockchain/Ethereum/MetaMask/readme.md",4905],"144286ec":[()=>n.e(3721).then(n.bind(n,6593)),"@site/docs/blockchain/Polygon/Smart Contracts/readme.md",6593],14802848:[()=>n.e(1252).then(n.bind(n,1077)),"@site/docs/linux/multimedia.md",1077],"16e94c2c":[()=>n.e(4183).then(n.t.bind(n,4247,19)),"~docs/default/tag-wisdom-hub-tags-editor-7c0.json",4247],17896441:[()=>Promise.all([n.e(532),n.e(7918)]).then(n.bind(n,788)),"@theme/DocItem",788],"182cc002":[()=>n.e(5397).then(n.bind(n,919)),"@site/docs/blockchain/LBRY/readme.md",919],"195ecc70":[()=>n.e(7867).then(n.bind(n,9276)),"@site/docs/blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-with-deadline/readme.md",9276],"1b6a7de4":[()=>n.e(863).then(n.t.bind(n,1344,19)),"~docs/default/tag-wisdom-hub-tags-bash-d9a.json",1344],"1be4aa9f":[()=>n.e(7880).then(n.bind(n,3161)),"@site/docs/linux/processes.md",3161],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,9963)),"@theme/DocPage",9963],"1d548c9c":[()=>n.e(4873).then(n.t.bind(n,9245,19)),"~docs/default/tag-wisdom-hub-tags-pow-85d.json",9245],"1f6c1e16":[()=>n.e(24).then(n.t.bind(n,217,19)),"~docs/default/tag-wisdom-hub-tags-monitor-a73.json",217],26445734:[()=>n.e(6652).then(n.t.bind(n,6036,19)),"~docs/default/tag-wisdom-hub-tags-script-575.json",6036],"28d9a6fb":[()=>n.e(7763).then(n.t.bind(n,9133,19)),"~docs/default/tag-wisdom-hub-tags-open-vpn-7de.json",9133],"2b9b2b35":[()=>n.e(755).then(n.t.bind(n,9337,19)),"~docs/default/tag-wisdom-hub-tags-near-955.json",9337],"2c31e1fc":[()=>n.e(909).then(n.t.bind(n,8289,19)),"~docs/default/tag-wisdom-hub-tags-syslog-751.json",8289],"2d53f62c":[()=>n.e(5548).then(n.t.bind(n,6419,19)),"~docs/default/tag-wisdom-hub-tags-restore-188.json",6419],"2f46f4f6":[()=>n.e(7044).then(n.t.bind(n,9585,19)),"~docs/default/tag-wisdom-hub-tags-ring-buffer-9e1.json",9585],"3328306b":[()=>n.e(1932).then(n.t.bind(n,5484,19)),"~docs/default/tag-wisdom-hub-tags-graphic-9e9.json",5484],"3720c009":[()=>Promise.all([n.e(532),n.e(3751)]).then(n.bind(n,9861)),"@theme/DocTagsListPage",9861],"3a026971":[()=>n.e(8965).then(n.t.bind(n,3769,19)),"/home/runner/work/Wisdom-Hub/Wisdom-Hub/docusaurus/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"3b3f9a17":[()=>n.e(3221).then(n.t.bind(n,3533,19)),"~docs/default/tag-wisdom-hub-tags-tutorial-909.json",3533],"3c604bc8":[()=>n.e(5581).then(n.bind(n,7116)),"@site/docs/linux/access.md",7116],"439794d8":[()=>n.e(7722).then(n.bind(n,6742)),"@site/docs/linux/other.md",6742],"442b48ab":[()=>n.e(5510).then(n.bind(n,888)),"@site/docs/network/vpn.md",888],"449dcbf3":[()=>n.e(3771).then(n.t.bind(n,9564,19)),"~docs/default/tag-wisdom-hub-tags-erc-20-800.json",9564],"44b852c3":[()=>n.e(3329).then(n.t.bind(n,6741,19)),"~docs/default/tag-wisdom-hub-tags-erc-721-605.json",6741],"4c027927":[()=>n.e(6931).then(n.t.bind(n,5674,19)),"~docs/default/tag-wisdom-hub-tags-access-control-6e0.json",5674],"4f2b7581":[()=>n.e(2267).then(n.t.bind(n,3385,19)),"~docs/default/tag-wisdom-hub-tags-ai-4b6.json",3385],"4fae5413":[()=>n.e(6621).then(n.t.bind(n,3514,19)),"~docs/default/tag-wisdom-hub-tags-mount-9d4.json",3514],"4fbaae46":[()=>n.e(4112).then(n.t.bind(n,4783,19)),"~docs/default/tag-wisdom-hub-tags-blockchain-a42.json",4783],"52bb9c04":[()=>n.e(8693).then(n.t.bind(n,5766,19)),"~docs/default/tag-wisdom-hub-tags-grep-625.json",5766],"52e2a80b":[()=>n.e(12).then(n.bind(n,6861)),"@site/docs/readme.md",6861],"53d607c0":[()=>n.e(4508).then(n.t.bind(n,273,19)),"~docs/default/tag-wisdom-hub-tags-monitoring-6d8.json",273],"53f55093":[()=>n.e(3528).then(n.bind(n,2939)),"@site/docs/linux/shell-scripting.md",2939],"5447f8a1":[()=>n.e(5267).then(n.bind(n,7485)),"@site/docs/linux/text.md",7485],"54510f97":[()=>n.e(411).then(n.t.bind(n,7691,19)),"~docs/default/tag-wisdom-hub-tags-docusaurus-40f.json",7691],"549b1afd":[()=>n.e(4511).then(n.bind(n,2880)),"@site/docs/vscode.md",2880],"55960ee5":[()=>n.e(4121).then(n.t.bind(n,8070,19)),"~docs/default/tags-list-current-prop-15a.json",8070],"55d4b6a5":[()=>n.e(1553).then(n.bind(n,6545)),"@site/docs/blockchain/readme.md",6545],"5618cd27":[()=>n.e(5193).then(n.t.bind(n,7248,19)),"~docs/default/tag-wisdom-hub-tags-split-169.json",7248],"57da7fc3":[()=>n.e(1574).then(n.t.bind(n,8184,19)),"~docs/default/tag-wisdom-hub-tags-bitcoin-780.json",8184],"587bab49":[()=>n.e(7142).then(n.bind(n,5880)),"@site/docs/blockchain/Polygon/readme.md",5880],"5a97b260":[()=>n.e(1144).then(n.bind(n,1715)),"@site/docs/blockchain/Polygon/PoS Bridge/erc1155-pos-bridge.md",1715],"5cd2cf3b":[()=>n.e(4520).then(n.t.bind(n,7707,19)),"~docs/default/tag-wisdom-hub-tags-xdg-ca7.json",7707],"5dee6bcf":[()=>n.e(892).then(n.bind(n,5408)),"@site/docs/network/ssh.md",5408],"5eb7d76c":[()=>n.e(9375).then(n.bind(n,567)),"@site/docs/linux/automation.md",567],"600268cd":[()=>n.e(7280).then(n.bind(n,8241)),"@site/docs/blockchain/NEAR/simple-exchange/MLB1-contract/README.md",8241],"6731f580":[()=>n.e(2333).then(n.t.bind(n,7579,19)),"~docs/default/tag-wisdom-hub-tags-wisdom-hub-3fd.json",7579],"69d14787":[()=>n.e(2582).then(n.t.bind(n,4056,19)),"~docs/default/tag-wisdom-hub-tags-log-1b0.json",4056],"6a300ceb":[()=>n.e(2013).then(n.t.bind(n,3906,19)),"~docs/default/tag-wisdom-hub-tags-meta-mask-aa0.json",3906],"6a3d10ec":[()=>n.e(3247).then(n.t.bind(n,2857,19)),"~docs/default/tag-wisdom-hub-tags-truffle-bef.json",2857],"6a3dfb58":[()=>n.e(6940).then(n.t.bind(n,6202,19)),"~docs/default/tag-wisdom-hub-tags-game-be0.json",6202],"6fb182c9":[()=>n.e(5596).then(n.t.bind(n,9592,19)),"~docs/default/tag-wisdom-hub-tags-manjaro-a56.json",9592],"72c8d2e5":[()=>n.e(1529).then(n.t.bind(n,929,19)),"~docs/default/tag-wisdom-hub-tags-rsync-5a6.json",929],"73573f06":[()=>n.e(440).then(n.t.bind(n,7554,19)),"~docs/default/tag-wisdom-hub-tags-shutdown-774.json",7554],"73dd2e7d":[()=>n.e(5172).then(n.t.bind(n,4467,19)),"~docs/default/tag-wisdom-hub-tags-linux-1a1.json",4467],"751092ea":[()=>n.e(572).then(n.bind(n,2430)),"@site/docs/blockchain/Ethereum/More Simple Smart Contracts/voter/readme.md",2430],"83f4e8b1":[()=>n.e(6043).then(n.bind(n,8655)),"@site/docs/network/readme.md",8655],"8467b7f5":[()=>n.e(3991).then(n.t.bind(n,5009,19)),"~docs/default/tag-wisdom-hub-tags-startup-fdb.json",5009],"8503b981":[()=>n.e(5091).then(n.t.bind(n,3678,19)),"~docs/default/tag-wisdom-hub-tags-service-7db.json",3678],"866b8020":[()=>n.e(5655).then(n.bind(n,1277)),"@site/docs/linux/log-monitoring.md",1277],88646754:[()=>n.e(2050).then(n.bind(n,5772)),"@site/docs/blockchain/Ethereum/Build a DEX from scratch/readme.md",5772],"89b22097":[()=>n.e(6733).then(n.t.bind(n,160,19)),"~docs/default/tag-wisdom-hub-tags-automation-f44.json",160],"8e81d255":[()=>n.e(1282).then(n.bind(n,636)),"@site/docs/blockchain/Ethereum/Truffle/readme.md",636],"8f172175":[()=>n.e(2757).then(n.bind(n,3559)),"@site/docs/raspberry pi.md",3559],"8f2cd53c":[()=>n.e(554).then(n.t.bind(n,3833,19)),"~docs/default/tag-wisdom-hub-tags-systemd-526.json",3833],90371975:[()=>n.e(8454).then(n.t.bind(n,6127,19)),"~docs/default/tag-wisdom-hub-tags-socks-c5d.json",6127],"914beddb":[()=>n.e(2264).then(n.bind(n,8393)),"@site/docs/Lovely Tools.md",8393],"935512d6":[()=>n.e(6808).then(n.bind(n,6267)),"@site/docs/ai/readme.md",6267],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"94693fb1":[()=>n.e(6947).then(n.bind(n,7421)),"@site/docs/docusaurus.md",7421],"96518a57":[()=>n.e(1948).then(n.bind(n,4406)),"@site/docs/Health.md",4406],"990145a0":[()=>n.e(9871).then(n.t.bind(n,2104,19)),"~docs/default/tag-wisdom-hub-tags-gui-0b3.json",2104],"9ae8dec8":[()=>n.e(6911).then(n.bind(n,5939)),"@site/docs/network/dns.md",5939],"9c5129ac":[()=>n.e(22).then(n.t.bind(n,322,19)),"~docs/default/tag-wisdom-hub-tags-mlibre-d97.json",322],"9ce8b3a5":[()=>n.e(8749).then(n.bind(n,328)),"@site/docs/blockchain/NEAR/CLI.md",328],"9cedfb54":[()=>n.e(839).then(n.bind(n,7970)),"@site/docs/blockchain/Ethereum/ERC20/readme.md",7970],"9d3a9e09":[()=>n.e(4137).then(n.t.bind(n,8155,19)),"~docs/default/tag-wisdom-hub-tags-tools-cf2.json",8155],"9ea2d7c6":[()=>n.e(4783).then(n.t.bind(n,4385,19)),"~docs/default/tag-wisdom-hub-tags-port-forwarding-59a.json",4385],"9f2d04c3":[()=>n.e(7335).then(n.t.bind(n,3551,19)),"~docs/default/tag-wisdom-hub-tags-erc-1155-926.json",3551],"9fa3b5e9":[()=>n.e(4265).then(n.t.bind(n,1001,19)),"~docs/default/tag-wisdom-hub-tags-raspberry-pi-3e2.json",1001],a049fff7:[()=>n.e(3846).then(n.bind(n,2063)),"@site/docs/linux/tools.md",2063],a1aa0d1c:[()=>n.e(8367).then(n.bind(n,2329)),"@site/docs/blockchain/Ethereum/ERC721/readme.md",2329],a4ffaf38:[()=>n.e(831).then(n.t.bind(n,6571,19)),"~docs/default/tag-wisdom-hub-tags-sheet-edd.json",6571],aa10d896:[()=>n.e(6737).then(n.bind(n,5275)),"@site/docs/blockchain/NEAR/simple-exchange/readme.md",5275],ad65d7aa:[()=>n.e(4126).then(n.t.bind(n,1226,19)),"~docs/default/tag-wisdom-hub-tags-network-294.json",1226],ad95a979:[()=>n.e(1934).then(n.t.bind(n,2805,19)),"~docs/default/tag-wisdom-hub-tags-shell-f7b.json",2805],aef15ffb:[()=>n.e(3524).then(n.bind(n,3480)),"@site/docs/blockchain/Bitcoin/pow-from-scratch/readme.md",3480],b434ad86:[()=>n.e(5380).then(n.t.bind(n,2546,19)),"~docs/default/tag-wisdom-hub-tags-implementation-1f9.json",2546],b49cb379:[()=>n.e(5245).then(n.t.bind(n,4305,19)),"~docs/default/tag-wisdom-hub-tags-dex-cf8.json",4305],b731a8e8:[()=>n.e(1377).then(n.t.bind(n,8045,19)),"~docs/default/tag-wisdom-hub-tags-disk-9d5.json",8045],be697916:[()=>n.e(1386).then(n.t.bind(n,7413,19)),"~docs/default/tag-wisdom-hub-tags-ssh-3ea.json",7413],c4a8a0c6:[()=>n.e(4251).then(n.bind(n,8916)),"@site/docs/linux/systemd.md",8916],c6461e50:[()=>n.e(3478).then(n.bind(n,7502)),"@site/docs/blockchain/NEAR/SDK.md",7502],cd5e1f2e:[()=>n.e(716).then(n.bind(n,2554)),"@site/docs/network/other.md",2554],ce00cef5:[()=>n.e(7838).then(n.t.bind(n,6156,19)),"~docs/default/tag-wisdom-hub-tags-vpn-65a.json",6156],ce09d5eb:[()=>n.e(9464).then(n.t.bind(n,2524,19)),"~docs/default/tag-wisdom-hub-tags-basic-c22.json",2524],cf6f78a3:[()=>n.e(5007).then(n.t.bind(n,7857,19)),"~docs/default/tag-wisdom-hub-tags-journalctl-624.json",7857],d73a239c:[()=>n.e(6821).then(n.t.bind(n,1378,19)),"~docs/default/tag-wisdom-hub-tags-dd-508.json",1378],dc43b967:[()=>n.e(9074).then(n.bind(n,1789)),"@site/docs/ai/prompt.md",1789],dc48c437:[()=>n.e(2519).then(n.bind(n,4132)),"@site/docs/linux/readme.md",4132],df203c0f:[()=>n.e(9924).then(n.bind(n,7068)),"@theme/DocTagDocListPage",7068],df33bc6a:[()=>n.e(5811).then(n.bind(n,2876)),"@site/docs/blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-using-library/readme.md",2876],df684998:[()=>n.e(5634).then(n.t.bind(n,754,19)),"~docs/default/tag-wisdom-hub-tags-permissions-615.json",754],e004505d:[()=>n.e(449).then(n.bind(n,5470)),"@site/docs/network/basic.md",5470],e3960513:[()=>n.e(7121).then(n.t.bind(n,5877,19)),"~docs/default/tag-wisdom-hub-tags-process-8c8.json",5877],e3fb87dc:[()=>n.e(8788).then(n.t.bind(n,3876,19)),"~docs/default/tag-wisdom-hub-tags-ethereum-281.json",3876],e49b4f37:[()=>n.e(4013).then(n.bind(n,4430)),"@site/docs/blockchain/Polygon/PoS Bridge/erc721-pos-bridge.md",4430],e4b55078:[()=>n.e(6369).then(n.bind(n,4980)),"@site/docs/blockchain/Ethereum/ERC1155/readme.md",4980],e7c96db3:[()=>n.e(3324).then(n.t.bind(n,6235,19)),"~docs/default/tag-wisdom-hub-tags-text-ae8.json",6235],e8795368:[()=>n.e(9891).then(n.t.bind(n,836,19)),"~docs/default/tag-wisdom-hub-tags-ipv-6-d01.json",836],eb9e3663:[()=>n.e(9990).then(n.t.bind(n,2128,19)),"~docs/default/tag-wisdom-hub-tags-windows-11-a22.json",2128],edcfdff1:[()=>n.e(2570).then(n.t.bind(n,3346,19)),"~docs/default/tag-wisdom-hub-tags-ln-98e.json",3346],ef4e2d6b:[()=>n.e(2008).then(n.bind(n,6965)),"@site/docs/blockchain/Ethereum/readme.md",6965],f116b37b:[()=>n.e(1062).then(n.t.bind(n,4376,19)),"~docs/default/tag-wisdom-hub-tags-automatic-30e.json",4376],f4a5e891:[()=>n.e(2973).then(n.t.bind(n,1325,19)),"~docs/default/tag-wisdom-hub-tags-ganache-ebe.json",1325],f4b21e4b:[()=>n.e(6494).then(n.bind(n,6717)),"@site/docs/blockchain/Cryptography/readme.md",6717],f567b790:[()=>n.e(2360).then(n.bind(n,3795)),"@site/docs/blockchain/Ethereum/More Simple Smart Contracts/multi-sig-wallet/readme.md",3795],f7359c4a:[()=>n.e(3456).then(n.bind(n,2588)),"@site/docs/blockchain/NEAR/readme.md",2588],fab5a811:[()=>n.e(1725).then(n.t.bind(n,8039,19)),"~docs/default/tag-wisdom-hub-tags-dns-753.json",8039],fc661e0a:[()=>n.e(4909).then(n.bind(n,6665)),"@site/docs/linux/disk-file.md",6665],fcf30ac0:[()=>n.e(4582).then(n.t.bind(n,3475,19)),"~docs/default/tag-wisdom-hub-tags-health-376.json",3475],ff64dfed:[()=>n.e(2243).then(n.t.bind(n,4825,19)),"~docs/default/tag-wisdom-hub-tags-less-ab6.json",4825]};function u(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 c=n(9670),d=n(226);function f(e,t){if("*"===e)return i()({loading:u,loader:()=>n.e(4972).then(n.bind(n,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=s[`${e}-${t}`],f={},p=[],m=[],h=(0,c.Z)(o);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=l[n];r&&(f[t]=r[0],p.push(r[1]),m.push(r[2]))})),i().Map({loading:u,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 s=n.split(".");s.slice(0,-1).forEach((e=>{o=o[e]})),o[s[s.length-1]]=a}));const s=i.__comp;delete i.__comp;const l=i.__context;return delete i.__context,r.createElement(d.z,{value:l},r.createElement(s,(0,a.Z)({},i,n)))}})}const p=[{path:"/Wisdom-Hub/tags",component:f("/Wisdom-Hub/tags","439"),exact:!0},{path:"/Wisdom-Hub/tags/access-control",component:f("/Wisdom-Hub/tags/access-control","9cc"),exact:!0},{path:"/Wisdom-Hub/tags/ai",component:f("/Wisdom-Hub/tags/ai","5d1"),exact:!0},{path:"/Wisdom-Hub/tags/automatic",component:f("/Wisdom-Hub/tags/automatic","3b9"),exact:!0},{path:"/Wisdom-Hub/tags/automation",component:f("/Wisdom-Hub/tags/automation","5cc"),exact:!0},{path:"/Wisdom-Hub/tags/backup",component:f("/Wisdom-Hub/tags/backup","6ac"),exact:!0},{path:"/Wisdom-Hub/tags/bash",component:f("/Wisdom-Hub/tags/bash","520"),exact:!0},{path:"/Wisdom-Hub/tags/basic",component:f("/Wisdom-Hub/tags/basic","3e3"),exact:!0},{path:"/Wisdom-Hub/tags/bitcoin",component:f("/Wisdom-Hub/tags/bitcoin","e7e"),exact:!0},{path:"/Wisdom-Hub/tags/blockchain",component:f("/Wisdom-Hub/tags/blockchain","ada"),exact:!0},{path:"/Wisdom-Hub/tags/cat",component:f("/Wisdom-Hub/tags/cat","7a4"),exact:!0},{path:"/Wisdom-Hub/tags/cheat",component:f("/Wisdom-Hub/tags/cheat","5d4"),exact:!0},{path:"/Wisdom-Hub/tags/dd",component:f("/Wisdom-Hub/tags/dd","cc0"),exact:!0},{path:"/Wisdom-Hub/tags/dex",component:f("/Wisdom-Hub/tags/dex","b99"),exact:!0},{path:"/Wisdom-Hub/tags/disk",component:f("/Wisdom-Hub/tags/disk","5fc"),exact:!0},{path:"/Wisdom-Hub/tags/dns",component:f("/Wisdom-Hub/tags/dns","b92"),exact:!0},{path:"/Wisdom-Hub/tags/docusaurus",component:f("/Wisdom-Hub/tags/docusaurus","477"),exact:!0},{path:"/Wisdom-Hub/tags/editor",component:f("/Wisdom-Hub/tags/editor","622"),exact:!0},{path:"/Wisdom-Hub/tags/erc-1155",component:f("/Wisdom-Hub/tags/erc-1155","5f6"),exact:!0},{path:"/Wisdom-Hub/tags/erc-20",component:f("/Wisdom-Hub/tags/erc-20","f6f"),exact:!0},{path:"/Wisdom-Hub/tags/erc-721",component:f("/Wisdom-Hub/tags/erc-721","675"),exact:!0},{path:"/Wisdom-Hub/tags/ethereum",component:f("/Wisdom-Hub/tags/ethereum","835"),exact:!0},{path:"/Wisdom-Hub/tags/game",component:f("/Wisdom-Hub/tags/game","2c4"),exact:!0},{path:"/Wisdom-Hub/tags/ganache",component:f("/Wisdom-Hub/tags/ganache","d74"),exact:!0},{path:"/Wisdom-Hub/tags/graphic",component:f("/Wisdom-Hub/tags/graphic","5ad"),exact:!0},{path:"/Wisdom-Hub/tags/grep",component:f("/Wisdom-Hub/tags/grep","181"),exact:!0},{path:"/Wisdom-Hub/tags/gui",component:f("/Wisdom-Hub/tags/gui","2d8"),exact:!0},{path:"/Wisdom-Hub/tags/health",component:f("/Wisdom-Hub/tags/health","2a0"),exact:!0},{path:"/Wisdom-Hub/tags/implementation",component:f("/Wisdom-Hub/tags/implementation","b73"),exact:!0},{path:"/Wisdom-Hub/tags/ipv-6",component:f("/Wisdom-Hub/tags/ipv-6","187"),exact:!0},{path:"/Wisdom-Hub/tags/journalctl",component:f("/Wisdom-Hub/tags/journalctl","c90"),exact:!0},{path:"/Wisdom-Hub/tags/langchain",component:f("/Wisdom-Hub/tags/langchain","ecc"),exact:!0},{path:"/Wisdom-Hub/tags/less",component:f("/Wisdom-Hub/tags/less","05e"),exact:!0},{path:"/Wisdom-Hub/tags/linux",component:f("/Wisdom-Hub/tags/linux","074"),exact:!0},{path:"/Wisdom-Hub/tags/ln",component:f("/Wisdom-Hub/tags/ln","bf2"),exact:!0},{path:"/Wisdom-Hub/tags/log",component:f("/Wisdom-Hub/tags/log","a66"),exact:!0},{path:"/Wisdom-Hub/tags/manjaro",component:f("/Wisdom-Hub/tags/manjaro","adb"),exact:!0},{path:"/Wisdom-Hub/tags/meta-mask",component:f("/Wisdom-Hub/tags/meta-mask","759"),exact:!0},{path:"/Wisdom-Hub/tags/mlibre",component:f("/Wisdom-Hub/tags/mlibre","ce9"),exact:!0},{path:"/Wisdom-Hub/tags/monitor",component:f("/Wisdom-Hub/tags/monitor","f3b"),exact:!0},{path:"/Wisdom-Hub/tags/monitoring",component:f("/Wisdom-Hub/tags/monitoring","a3a"),exact:!0},{path:"/Wisdom-Hub/tags/mount",component:f("/Wisdom-Hub/tags/mount","bcd"),exact:!0},{path:"/Wisdom-Hub/tags/near",component:f("/Wisdom-Hub/tags/near","573"),exact:!0},{path:"/Wisdom-Hub/tags/network",component:f("/Wisdom-Hub/tags/network","09a"),exact:!0},{path:"/Wisdom-Hub/tags/open-vpn",component:f("/Wisdom-Hub/tags/open-vpn","d75"),exact:!0},{path:"/Wisdom-Hub/tags/permissions",component:f("/Wisdom-Hub/tags/permissions","18e"),exact:!0},{path:"/Wisdom-Hub/tags/port-forwarding",component:f("/Wisdom-Hub/tags/port-forwarding","520"),exact:!0},{path:"/Wisdom-Hub/tags/pow",component:f("/Wisdom-Hub/tags/pow","d00"),exact:!0},{path:"/Wisdom-Hub/tags/process",component:f("/Wisdom-Hub/tags/process","309"),exact:!0},{path:"/Wisdom-Hub/tags/prompt",component:f("/Wisdom-Hub/tags/prompt","b64"),exact:!0},{path:"/Wisdom-Hub/tags/raspberry-pi",component:f("/Wisdom-Hub/tags/raspberry-pi","c66"),exact:!0},{path:"/Wisdom-Hub/tags/restore",component:f("/Wisdom-Hub/tags/restore","c1b"),exact:!0},{path:"/Wisdom-Hub/tags/ring-buffer",component:f("/Wisdom-Hub/tags/ring-buffer","8e5"),exact:!0},{path:"/Wisdom-Hub/tags/rsync",component:f("/Wisdom-Hub/tags/rsync","d08"),exact:!0},{path:"/Wisdom-Hub/tags/script",component:f("/Wisdom-Hub/tags/script","81a"),exact:!0},{path:"/Wisdom-Hub/tags/service",component:f("/Wisdom-Hub/tags/service","63f"),exact:!0},{path:"/Wisdom-Hub/tags/sheet",component:f("/Wisdom-Hub/tags/sheet","dc8"),exact:!0},{path:"/Wisdom-Hub/tags/shell",component:f("/Wisdom-Hub/tags/shell","1f3"),exact:!0},{path:"/Wisdom-Hub/tags/shutdown",component:f("/Wisdom-Hub/tags/shutdown","790"),exact:!0},{path:"/Wisdom-Hub/tags/socks",component:f("/Wisdom-Hub/tags/socks","8b6"),exact:!0},{path:"/Wisdom-Hub/tags/split",component:f("/Wisdom-Hub/tags/split","323"),exact:!0},{path:"/Wisdom-Hub/tags/ssh",component:f("/Wisdom-Hub/tags/ssh","efa"),exact:!0},{path:"/Wisdom-Hub/tags/startup",component:f("/Wisdom-Hub/tags/startup","5f6"),exact:!0},{path:"/Wisdom-Hub/tags/syslog",component:f("/Wisdom-Hub/tags/syslog","6dc"),exact:!0},{path:"/Wisdom-Hub/tags/systemd",component:f("/Wisdom-Hub/tags/systemd","463"),exact:!0},{path:"/Wisdom-Hub/tags/text",component:f("/Wisdom-Hub/tags/text","c93"),exact:!0},{path:"/Wisdom-Hub/tags/tools",component:f("/Wisdom-Hub/tags/tools","f23"),exact:!0},{path:"/Wisdom-Hub/tags/truffle",component:f("/Wisdom-Hub/tags/truffle","b73"),exact:!0},{path:"/Wisdom-Hub/tags/tutorial",component:f("/Wisdom-Hub/tags/tutorial","9d8"),exact:!0},{path:"/Wisdom-Hub/tags/vpn",component:f("/Wisdom-Hub/tags/vpn","8b9"),exact:!0},{path:"/Wisdom-Hub/tags/vscode",component:f("/Wisdom-Hub/tags/vscode","4bb"),exact:!0},{path:"/Wisdom-Hub/tags/vulkan",component:f("/Wisdom-Hub/tags/vulkan","1ce"),exact:!0},{path:"/Wisdom-Hub/tags/windows-11",component:f("/Wisdom-Hub/tags/windows-11","32a"),exact:!0},{path:"/Wisdom-Hub/tags/wisdom-hub",component:f("/Wisdom-Hub/tags/wisdom-hub","34e"),exact:!0},{path:"/Wisdom-Hub/tags/xdg",component:f("/Wisdom-Hub/tags/xdg","19d"),exact:!0},{path:"/Wisdom-Hub/tags/zsh",component:f("/Wisdom-Hub/tags/zsh","e38"),exact:!0},{path:"/Wisdom-Hub/",component:f("/Wisdom-Hub/","9c0"),routes:[{path:"/Wisdom-Hub/",component:f("/Wisdom-Hub/","287"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/ai/",component:f("/Wisdom-Hub/ai/","cff"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/ai/langchain",component:f("/Wisdom-Hub/ai/langchain","ead"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/ai/prompt",component:f("/Wisdom-Hub/ai/prompt","9f1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/",component:f("/Wisdom-Hub/blockchain/","007"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Bitcoin/",component:f("/Wisdom-Hub/blockchain/Bitcoin/","0db"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Bitcoin/pow-from-scratch/",component:f("/Wisdom-Hub/blockchain/Bitcoin/pow-from-scratch/","255"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Cryptography/",component:f("/Wisdom-Hub/blockchain/Cryptography/","a44"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/",component:f("/Wisdom-Hub/blockchain/Ethereum/","2af"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/Build a DEX from scratch/",component:f("/Wisdom-Hub/blockchain/Ethereum/Build a DEX from scratch/","ec8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/CLI",component:f("/Wisdom-Hub/blockchain/Ethereum/CLI","9fd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/ERC1155/",component:f("/Wisdom-Hub/blockchain/Ethereum/ERC1155/","e60"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/ERC20/",component:f("/Wisdom-Hub/blockchain/Ethereum/ERC20/","e22"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/ERC721/",component:f("/Wisdom-Hub/blockchain/Ethereum/ERC721/","717"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/MetaMask/",component:f("/Wisdom-Hub/blockchain/Ethereum/MetaMask/","492"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-using-library/",component:f("/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-using-library/","78e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-with-deadline/",component:f("/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-with-deadline/","315"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/multi-sig-wallet/",component:f("/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/multi-sig-wallet/","277"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/voter/",component:f("/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/voter/","f9c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Ethereum/Truffle/",component:f("/Wisdom-Hub/blockchain/Ethereum/Truffle/","eb6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/LBRY/",component:f("/Wisdom-Hub/blockchain/LBRY/","3cd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/NEAR/",component:f("/Wisdom-Hub/blockchain/NEAR/","d36"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/NEAR/CLI",component:f("/Wisdom-Hub/blockchain/NEAR/CLI","e81"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/NEAR/SDK",component:f("/Wisdom-Hub/blockchain/NEAR/SDK","1e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/NEAR/simple-exchange/",component:f("/Wisdom-Hub/blockchain/NEAR/simple-exchange/","569"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/NEAR/simple-exchange/MLB1-contract/",component:f("/Wisdom-Hub/blockchain/NEAR/simple-exchange/MLB1-contract/","5bd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Polygon/",component:f("/Wisdom-Hub/blockchain/Polygon/","b18"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Polygon/PoS Bridge/erc1155-pos-bridge",component:f("/Wisdom-Hub/blockchain/Polygon/PoS Bridge/erc1155-pos-bridge","f3f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Polygon/PoS Bridge/erc20-pos-bridge",component:f("/Wisdom-Hub/blockchain/Polygon/PoS Bridge/erc20-pos-bridge","3cb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Polygon/PoS Bridge/erc721-pos-bridge",component:f("/Wisdom-Hub/blockchain/Polygon/PoS Bridge/erc721-pos-bridge","336"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/blockchain/Polygon/Smart Contracts/",component:f("/Wisdom-Hub/blockchain/Polygon/Smart Contracts/","900"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/docusaurus",component:f("/Wisdom-Hub/docusaurus","d87"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/Health",component:f("/Wisdom-Hub/Health","230"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/",component:f("/Wisdom-Hub/linux/","071"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/access",component:f("/Wisdom-Hub/linux/access","73a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/automation",component:f("/Wisdom-Hub/linux/automation","c3b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/disk-file",component:f("/Wisdom-Hub/linux/disk-file","d2c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/log-monitoring",component:f("/Wisdom-Hub/linux/log-monitoring","e63"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/multimedia",component:f("/Wisdom-Hub/linux/multimedia","537"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/other",component:f("/Wisdom-Hub/linux/other","c9e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/processes",component:f("/Wisdom-Hub/linux/processes","31c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/shell-scripting",component:f("/Wisdom-Hub/linux/shell-scripting","944"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/systemd",component:f("/Wisdom-Hub/linux/systemd","549"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/text",component:f("/Wisdom-Hub/linux/text","bfc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/linux/tools",component:f("/Wisdom-Hub/linux/tools","b7e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/Lovely Tools",component:f("/Wisdom-Hub/Lovely Tools","079"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/network/",component:f("/Wisdom-Hub/network/","b90"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/network/basic",component:f("/Wisdom-Hub/network/basic","5c6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/network/dns",component:f("/Wisdom-Hub/network/dns","01d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/network/other",component:f("/Wisdom-Hub/network/other","6e4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/network/ssh",component:f("/Wisdom-Hub/network/ssh","b21"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/network/vpn",component:f("/Wisdom-Hub/network/vpn","d81"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/raspberry pi",component:f("/Wisdom-Hub/raspberry pi","f39"),exact:!0,sidebar:"tutorialSidebar"},{path:"/Wisdom-Hub/vscode",component:f("/Wisdom-Hub/vscode","ada"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"*",component:f("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(7294);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)}},9383:(e,t,n)=>{"use strict";var r=n(7294),a=n(3935),o=n(3727),i=n(405),s=n(412);const l=[n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(7462),m=n(5742),h=n(2263),g=n(4996),b=n(6668),v=n(1944),y=n(4711),w=n(9727),k=n(3320),E=n(197);function _(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,h.Z)(),n=(0,y.l)();return r.createElement(m.Z,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 S(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),a=function(){const{siteConfig:{url:e}}=(0,h.Z)(),{pathname:t}=(0,c.TH)();return e+(0,g.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function x(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(S,null),r.createElement(_,null),r.createElement(E.Z,{tag:k.HX,locale:e}),r.createElement(m.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const C=new Map;function T(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}var A=n(8934),H=n(8940);function N(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 L=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),N("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function P(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,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=s.Z.canUseDOM?N("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=N("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(L,{previousLocation:this.previousLocation,location:t},r.createElement(c.AW,{location:t,render:()=>e}))}}const R=O,W="__docusaurus-base-url-issue-banner-container",I="__docusaurus-base-url-issue-banner",M="__docusaurus-base-url-issue-banner-suggestion-container",D="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${D}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${D}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${W}');\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[D]=!1}),[]),r.createElement(r.Fragment,null,!s.Z.canUseDOM&&r.createElement(m.Z,null,r.createElement("script",null,B(e))),r.createElement("div",{id:W}))}function j(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?r.createElement(F,null):null}function z(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,h.Z)(),i=(0,g.Z)(e),{htmlLang:s,direction:l}=o[a];return r.createElement(m.Z,null,r.createElement("html",{lang:s,dir:l}),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 $=n(4763);function U(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return r.createElement($.Z,null,r.createElement(H.M,null,r.createElement(A.t,null,r.createElement(f,null,r.createElement(z,null),r.createElement(x,null),r.createElement(j,null),r.createElement(R,{location:T(t)},e)))))}var Z=n(6887);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 G=n(9670);const q=new Set,Y=new Set,K=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,X={prefetch(e){if(!(e=>!K()&&!Y.has(e)&&!q.has(e))(e))return!1;q.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Z).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,G.Z)(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=>!K()&&!Y.has(e))(e)&&(Y.add(e),P(e))},Q=Object.freeze(X);if(s.Z.canUseDOM){window.docusaurus=Q;const e=a.hydrate;P(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(U,null))),document.getElementById("__docusaurus"))}))}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>c,M:()=>d});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-lunr-search":{"default":{"fileNames":{"searchDoc":"search-doc-1696532041223.json","lunrIndex":"lunr-index-1696532041223.json"}}},"docusaurus-plugin-content-docs":{"default":{"path":"/Wisdom-Hub/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/Wisdom-Hub/","mainDocId":"readme","docs":[{"id":"ai/langchain","path":"/Wisdom-Hub/ai/langchain","sidebar":"tutorialSidebar"},{"id":"ai/prompt","path":"/Wisdom-Hub/ai/prompt","sidebar":"tutorialSidebar"},{"id":"ai/readme","path":"/Wisdom-Hub/ai/","sidebar":"tutorialSidebar"},{"id":"blockchain/Bitcoin/pow-from-scratch/readme","path":"/Wisdom-Hub/blockchain/Bitcoin/pow-from-scratch/","sidebar":"tutorialSidebar"},{"id":"blockchain/Bitcoin/readme","path":"/Wisdom-Hub/blockchain/Bitcoin/","sidebar":"tutorialSidebar"},{"id":"blockchain/Cryptography/readme","path":"/Wisdom-Hub/blockchain/Cryptography/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/Build a DEX from scratch/readme","path":"/Wisdom-Hub/blockchain/Ethereum/Build a DEX from scratch/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/CLI","path":"/Wisdom-Hub/blockchain/Ethereum/CLI","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/ERC1155/readme","path":"/Wisdom-Hub/blockchain/Ethereum/ERC1155/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/ERC20/readme","path":"/Wisdom-Hub/blockchain/Ethereum/ERC20/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/ERC721/readme","path":"/Wisdom-Hub/blockchain/Ethereum/ERC721/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/MetaMask/readme","path":"/Wisdom-Hub/blockchain/Ethereum/MetaMask/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-using-library/readme","path":"/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-using-library/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-with-deadline/readme","path":"/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/crowd-funding-with-deadline/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/More Simple Smart Contracts/multi-sig-wallet/readme","path":"/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/multi-sig-wallet/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/More Simple Smart Contracts/voter/readme","path":"/Wisdom-Hub/blockchain/Ethereum/More Simple Smart Contracts/voter/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/readme","path":"/Wisdom-Hub/blockchain/Ethereum/","sidebar":"tutorialSidebar"},{"id":"blockchain/Ethereum/Truffle/readme","path":"/Wisdom-Hub/blockchain/Ethereum/Truffle/","sidebar":"tutorialSidebar"},{"id":"blockchain/LBRY/readme","path":"/Wisdom-Hub/blockchain/LBRY/","sidebar":"tutorialSidebar"},{"id":"blockchain/NEAR/CLI","path":"/Wisdom-Hub/blockchain/NEAR/CLI","sidebar":"tutorialSidebar"},{"id":"blockchain/NEAR/readme","path":"/Wisdom-Hub/blockchain/NEAR/","sidebar":"tutorialSidebar"},{"id":"blockchain/NEAR/SDK","path":"/Wisdom-Hub/blockchain/NEAR/SDK","sidebar":"tutorialSidebar"},{"id":"blockchain/NEAR/simple-exchange/MLB1-contract/README","path":"/Wisdom-Hub/blockchain/NEAR/simple-exchange/MLB1-contract/","sidebar":"tutorialSidebar"},{"id":"blockchain/NEAR/simple-exchange/readme","path":"/Wisdom-Hub/blockchain/NEAR/simple-exchange/","sidebar":"tutorialSidebar"},{"id":"blockchain/Polygon/PoS Bridge/erc1155-pos-bridge","path":"/Wisdom-Hub/blockchain/Polygon/PoS Bridge/erc1155-pos-bridge","sidebar":"tutorialSidebar"},{"id":"blockchain/Polygon/PoS Bridge/erc20-pos-bridge","path":"/Wisdom-Hub/blockchain/Polygon/PoS Bridge/erc20-pos-bridge","sidebar":"tutorialSidebar"},{"id":"blockchain/Polygon/PoS Bridge/erc721-pos-bridge","path":"/Wisdom-Hub/blockchain/Polygon/PoS Bridge/erc721-pos-bridge","sidebar":"tutorialSidebar"},{"id":"blockchain/Polygon/readme","path":"/Wisdom-Hub/blockchain/Polygon/","sidebar":"tutorialSidebar"},{"id":"blockchain/Polygon/Smart Contracts/readme","path":"/Wisdom-Hub/blockchain/Polygon/Smart Contracts/","sidebar":"tutorialSidebar"},{"id":"blockchain/readme","path":"/Wisdom-Hub/blockchain/","sidebar":"tutorialSidebar"},{"id":"docusaurus","path":"/Wisdom-Hub/docusaurus","sidebar":"tutorialSidebar"},{"id":"Health","path":"/Wisdom-Hub/Health","sidebar":"tutorialSidebar"},{"id":"linux/access","path":"/Wisdom-Hub/linux/access","sidebar":"tutorialSidebar"},{"id":"linux/automation","path":"/Wisdom-Hub/linux/automation","sidebar":"tutorialSidebar"},{"id":"linux/disk-file","path":"/Wisdom-Hub/linux/disk-file","sidebar":"tutorialSidebar"},{"id":"linux/log-monitoring","path":"/Wisdom-Hub/linux/log-monitoring","sidebar":"tutorialSidebar"},{"id":"linux/multimedia","path":"/Wisdom-Hub/linux/multimedia","sidebar":"tutorialSidebar"},{"id":"linux/other","path":"/Wisdom-Hub/linux/other","sidebar":"tutorialSidebar"},{"id":"linux/processes","path":"/Wisdom-Hub/linux/processes","sidebar":"tutorialSidebar"},{"id":"linux/readme","path":"/Wisdom-Hub/linux/","sidebar":"tutorialSidebar"},{"id":"linux/shell-scripting","path":"/Wisdom-Hub/linux/shell-scripting","sidebar":"tutorialSidebar"},{"id":"linux/systemd","path":"/Wisdom-Hub/linux/systemd","sidebar":"tutorialSidebar"},{"id":"linux/text","path":"/Wisdom-Hub/linux/text","sidebar":"tutorialSidebar"},{"id":"linux/tools","path":"/Wisdom-Hub/linux/tools","sidebar":"tutorialSidebar"},{"id":"Lovely Tools","path":"/Wisdom-Hub/Lovely Tools","sidebar":"tutorialSidebar"},{"id":"network/basic","path":"/Wisdom-Hub/network/basic","sidebar":"tutorialSidebar"},{"id":"network/dns","path":"/Wisdom-Hub/network/dns","sidebar":"tutorialSidebar"},{"id":"network/other","path":"/Wisdom-Hub/network/other","sidebar":"tutorialSidebar"},{"id":"network/readme","path":"/Wisdom-Hub/network/","sidebar":"tutorialSidebar"},{"id":"network/ssh","path":"/Wisdom-Hub/network/ssh","sidebar":"tutorialSidebar"},{"id":"network/vpn","path":"/Wisdom-Hub/network/vpn","sidebar":"tutorialSidebar"},{"id":"raspberry pi","path":"/Wisdom-Hub/raspberry pi","sidebar":"tutorialSidebar"},{"id":"readme","path":"/Wisdom-Hub/","sidebar":"tutorialSidebar"},{"id":"vscode","path":"/Wisdom-Hub/vscode","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/Wisdom-Hub/","label":"readme"}}}}],"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 s=n(7529);const l=JSON.parse('{"docusaurusVersion":"2.4.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.1"},"docusaurus-lunr-search":{"type":"package","name":"docusaurus-lunr-search","version":"2.4.2"}}}'),u={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},c=r.createContext(u);function d(e){let{children:t}=e;return r.createElement(c.Provider,{value:u},t)}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),s=n(4173);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(u,{error:t}))}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function c(e){let{error:t,tryAgain:n}=e;return r.createElement(f,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(s.Z,null,r.createElement(l,{error:t,tryAgain:n})))}const d=e=>r.createElement(c,e);class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.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??d)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>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}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(405);function o(e){return r.createElement(a.ql,e)}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7462),a=n(7294),o=n(3727),i=n(8780),s=n(2263),l=n(3919),u=n(412);const c=a.createContext({collectLink:()=>{}});var d=n(4996);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,s.Z)(),{withBaseUrl:k}=(0,d.C)(),E=(0,a.useContext)(c),_=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>_.current));const S=f||p;const x=(0,l.Z)(S),C=S?.replace("pathname://","");let T=void 0!==C?(A=C,b&&(e=>e.startsWith("/"))(A)?k(A):A):void 0;var A;T&&x&&(T=(0,i.applyTrailingSlash)(T,{trailingSlash:y,baseUrl:w}));const H=(0,a.useRef)(!1),N=n?o.OL:o.rU,L=u.Z.canUseIntersectionObserver,P=(0,a.useRef)(),O=()=>{H.current||null==T||(window.docusaurus.preload(T),H.current=!0)};(0,a.useEffect)((()=>(!L&&x&&null!=T&&window.docusaurus.prefetch(T),()=>{L&&P.current&&P.current.disconnect()})),[P,T,L,x]);const R=T?.startsWith("#")??!1,W=!T||!x||R;return W||g||E.collectLink(T),W?a.createElement("a",(0,r.Z)({ref:_,href:T},S&&!x&&{target:"_blank",rel:"noopener noreferrer"},v)):a.createElement(N,(0,r.Z)({},v,{onMouseEnter:O,onTouchStart:O,innerRef:e=>{_.current=e,L&&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!=T&&window.docusaurus.prefetch(T))}))})),P.current.observe(e))},to:T},n&&{isActive:h,activeClassName:m}))}const p=a.forwardRef(f)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l,I:()=>s});var r=n(7294);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(7529);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 s(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function l(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 s=i({message:t,id:n});return r.createElement(r.Fragment,null,a(s,o))}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},8084:(e,t,n)=>{"use strict";n.d(t,{OD:()=>o,eZ:()=>i});var r=n(2263),a=n(9935);function o(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=a.m),void 0===n&&(n={});const r=o(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>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 s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(7294);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)}},4104:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>p,gA:()=>c,_r:()=>l,Jo:()=>m,zh:()=>u,yW:()=>f,gB:()=>d});var r=n(6550),a=n(8084);const o=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=function(e,t){const n=o(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(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 s={},l=()=>(0,a.OD)("docusaurus-plugin-content-docs")??s,u=e=>(0,a.eZ)("docusaurus-plugin-content-docs",e,{failfast:!0});function c(e){void 0===e&&(e={});const t=l(),{pathname:n}=(0,r.TH)();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.LX)(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 d(e){return u(e).versions}function f(e){const t=u(e);return o(t)}function p(e){const t=u(e),{pathname:n}=(0,r.TH)();return i(t,n)}function m(e){const t=u(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=o(e);return{latestDocSuggestion:i(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),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()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(7410),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(304)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);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"}))}},4173:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ft});var r=n(7294),a=n(6010),o=n(4763),i=n(1944),s=n(7462),l=n(6550),u=n(5999),c=n(5936);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,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,u.I)({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,s.Z)({},e,{href:`#${d}`,onClick:a}),t))}var g=n(5281),b=n(9727);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(h,{className:v.skipToContent})}var w=n(6668),k=n(9689);function E(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...l}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 15 15",width:t,height:n},l),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const _={closeButton:"closeButton_CVFx"};function S(e){return r.createElement("button",(0,s.Z)({type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",_.closeButton,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const x={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,s.Z)({},e,{className:(0,a.Z)(x.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function A(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:T.announcementBar,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:T.announcementBarPlaceholder}),r.createElement(C,{className:T.announcementBarContent}),i&&r.createElement(S,{onClick:n,className:T.announcementBarClose}))}var H=n(2961),N=n(2466);var L=n(902),P=n(3102);const O=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,H.e)(),t=(0,P.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,L.D9)(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 W(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function I(){const e=(0,r.useContext)(O);if(!e)throw new L.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,P.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:W(o)})),[a,o,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=I();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("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 D=n(2949),B=n(2389);function F(e){return r.createElement("svg",(0,s.Z)({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 j(e){return r.createElement("svg",(0,s.Z)({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 z={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function $(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const s=(0,B.Z)(),l=(0,u.I)({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"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(z.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",z.toggleButton,!s&&z.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!s,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(F,{className:(0,a.Z)(z.toggleIcon,z.lightToggleIcon)}),r.createElement(j,{className:(0,a.Z)(z.toggleIcon,z.darkToggleIcon)})))}const U=r.memo($),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,D.I)();return a?null:r.createElement(U,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var G=n(1327);function q(){return r.createElement(G.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Y(){const e=(0,H.e)();return r.createElement("button",{type:"button","aria-label":(0,u.I)({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 K(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(q,null),r.createElement(V,{className:"margin-right--md"}),r.createElement(Y,null))}var X=n(9960),Q=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:l,isDropdownLink:u,prependBaseUrlToHref:c,...d}=e;const f=(0,Q.Z)(a),p=(0,Q.Z)(t),m=(0,Q.Z)(o,{forcePrependBaseUrl:!0}),h=i&&o&&!(0,J.Z)(o),g=l?{dangerouslySetInnerHTML:{__html:l}}:{children:r.createElement(r.Fragment,null,i,h&&r.createElement(te.Z,u&&{width:12,height:12}))};return o?r.createElement(X.Z,(0,s.Z)({href:c?m:o},d,g)):r.createElement(X.Z,(0,s.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},d,g))}function re(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(ne,(0,s.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function ae(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ne,(0,s.Z)({className:(0,a.Z)("menu__link",t)},o)))}function oe(e){let{mobile:t=!1,position:n,...a}=e;const o=t?ae:re;return r.createElement(o,(0,s.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ie=n(6043),se=n(8596),le=n(2263);function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ce(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const u=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[u]),r.createElement("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(ne,(0,s.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},l,{onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))}}),l.children??l.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(xe,(0,s.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function de(e){let{items:t,className:n,position:o,onClick:i,...u}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(ne,(0,s.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},u,{onClick:e=>{e.preventDefault(),p()}}),u.children??u.label),r.createElement(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(xe,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function fe(e){let{mobile:t=!1,...n}=e;const a=t?de:ce;return r.createElement(a,n)}var pe=n(4711);function me(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,s.Z)({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 he="iconLanguage_nlXk";var ge=n(8084);const be=e=>{const t=(0,r.useRef)(!1),o=(0,r.useRef)(null),[i,s]=(0,r.useState)(!1),u=(0,l.k6)(),{siteConfig:c={}}=(0,le.Z)(),d=(0,B.Z)(),{baseUrl:f}=c,p=(0,ge.eZ)("docusaurus-lunr-search"),m=()=>{t.current||(Promise.all([fetch(`${f}${p.fileNames.searchDoc}`).then((e=>e.json())),fetch(`${f}${p.fileNames.lunrIndex}`).then((e=>e.json())),Promise.all([n.e(4611),n.e(5684)]).then(n.bind(n,4734)),Promise.all([n.e(532),n.e(2572)]).then(n.bind(n,2572))]).then((e=>{let[t,n,{default:r}]=e;0!==t.length&&(((e,t,n)=>{new n({searchDocs:e,searchIndex:t,baseUrl:f,inputSelector:"#search_input_react",handleSelected:(e,t,n)=>{const r=n.url||"/";document.createElement("a").href=r,u.push(r)}})})(t,n,r),s(!0))})),t.current=!0)},h=(0,r.useCallback)((t=>{o.current.contains(t.target)||o.current.focus(),e.handleSearchBarToggle&&e.handleSearchBarToggle(!e.isSearchBarExpanded)}),[e.isSearchBarExpanded]);return d&&m(),r.createElement("div",{className:"navbar__search",key:"search-box"},r.createElement("span",{"aria-label":"expand searchbar",role:"button",className:(0,a.Z)("search-icon",{"search-icon-hidden":e.isSearchBarExpanded}),onClick:h,onKeyDown:h,tabIndex:0}),r.createElement("input",{id:"search_input_react",type:"search",placeholder:i?"Search":"Loading...","aria-label":"Search",className:(0,a.Z)("navbar__search-input",{"search-bar-expanded":e.isSearchBarExpanded},{"search-bar":!e.isSearchBarExpanded}),onClick:m,onMouseOver:m,onFocus:h,onBlur:h,ref:o,disabled:!i}))},ve={searchBox:"searchBox_ZlJk"};function ye(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,ve.searchBox)},t)}var we=n(4104),ke=n(2802);var Ee=n(373);const _e=e=>e.docs.find((t=>t.id===e.mainDocId));const Se={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),f=(0,pe.l)(),{search:p,hash:m}=(0,l.TH)(),h=[...n,...c.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,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(fe,(0,s.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(me,{className:he}),g),items:h}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(ye,{className:n},r.createElement(be,null))},dropdown:fe,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return r.createElement(s,{className:(0,a.Z)({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,we.Iw)(a),l=(0,ke.vY)(t,a);return null===l?null:r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.path===l.path||!!i?.sidebar&&i.sidebar===l.sidebar,label:n??l.id,to:l.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,we.Iw)(a),l=(0,ke.oz)(t,a).link;if(!l)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??l.label,to:l.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,ke.lO)(a)[0],l=t??i.label,u=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(oe,(0,s.Z)({},o,{label:l,to:u}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...c}=e;const{search:d,hash:f}=(0,l.TH)(),p=(0,we.Iw)(n),m=(0,we.gB)(n),{savePreferredVersionName:h}=(0,Ee.J)(n),g=[...o,...m.map((e=>{const t=p.alternateDocVersions[e.name]??_e(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...i],b=(0,ke.lO)(n)[0],v=t&&g.length>1?(0,u.I)({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:_e(b).path;return g.length<=1?r.createElement(oe,(0,s.Z)({},c,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(fe,(0,s.Z)({},c,{mobile:t,label:v,to:y,items:g,isActive:a?()=>!1:void 0}))}};function xe(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Se[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Ce(){const e=(0,H.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(xe,(0,s.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Te(e){return r.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.Z,{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 Ae(){const e=0===(0,w.L)().navbar.items.length,t=I();return r.createElement(r.Fragment,null,!e&&r.createElement(Te,{onClick:()=>t.hide()}),t.content)}function He(){const e=(0,H.e)();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(M,{header:r.createElement(K,null),primaryMenu:r.createElement(Ce,null),secondaryMenu:r.createElement(Ae,null)}):null}const Ne={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Le(e){return r.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Pe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,H.e)(),{navbarRef:s,isNavbarVisible:l}=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,N.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+u{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:s,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Ne.navbarHideable,!l&&Ne.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Le,{onClick:i.toggle}),r.createElement(He,null))}var Oe=n(8780);const Re={errorBoundaryError:"errorBoundaryError_a6uf"};function We(e){return r.createElement("button",(0,s.Z)({type:"button"},e),r.createElement(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function Ie(e){let{error:t}=e;const n=(0,Oe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:Re.errorBoundaryError},n)}class Me extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const De="right";function Be(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,s.Z)({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 Fe(){const{toggle:e,shown:t}=(0,H.e)();return r.createElement("button",{onClick:e,"aria-label":(0,u.I)({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(Be,null))}const je={colorModeToggle:"colorModeToggle_DEke"};function ze(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(Me,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},r.createElement(xe,e)))))}function $e(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 Ue(){const e=(0,H.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??De)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement($e,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(Fe,null),r.createElement(q,null),r.createElement(ze,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(ze,{items:a}),r.createElement(V,{className:je.colorModeToggle}),!o&&r.createElement(ye,null,r.createElement(be,null)))})}function Ze(){return r.createElement(Pe,null,r.createElement(Ue,null))}function Ve(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...l}=t,u=(0,Q.Z)(n),c=(0,Q.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(X.Z,(0,s.Z)({className:"footer__link-item"},a?{href:i?c:a}:{to:u},l),o,a&&!(0,J.Z)(a)&&r.createElement(te.Z,null))}function Ge(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(Ve,{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(Ge,{key:t,item:e})))))}function Ye(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 Ke(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function Xe(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(Ve,{item:t})}function Qe(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(Xe,{item:e}),t.length!==n+1&&r.createElement(Ke,null))))))}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(Ye,{columns:t}):r.createElement(Qe,{links:t})}var et=n(941);const tt={footerLogoLink:"footerLogoLink_BH7S"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,Q.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(et.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?r.createElement(X.Z,{href:t.href,className:tt.footerLogoLink,target:t.target},r.createElement(nt,{logo:t})):r.createElement(nt,{logo:t})}function at(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ot(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("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 it(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(ot,{style:o,links:n&&n.length>0&&r.createElement(Je,{links:n}),logo:a&&r.createElement(rt,{logo:a}),copyright:t&&r.createElement(at,{copyright:t})})}const st=r.memo(it),lt=(0,L.Qc)([D.S,k.pl,N.OC,Ee.L5,i.VC,function(e){let{children:t}=e;return r.createElement(P.n2,null,r.createElement(H.M,null,r.createElement(R,null,t)))}]);function ut(e){let{children:t}=e;return r.createElement(lt,null,t)}function ct(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(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(We,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(Ie,{error:t})))))}const dt={mainWrapper:"mainWrapper_z2l0"};function ft(e){const{children:t,noFooter:n,wrapperClassName:s,title:l,description:u}=e;return(0,b.t)(),r.createElement(ut,null,r.createElement(i.d,{title:l,description:u}),r.createElement(y,null),r.createElement(A,null),r.createElement(Ze,null),r.createElement("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,dt.mainWrapper,s)},r.createElement(o.Z,{fallback:e=>r.createElement(ct,e)},t)),!n&&r.createElement(st,null))}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(7462),a=n(7294),o=n(9960),i=n(4996),s=n(2263),l=n(6668),u=n(941);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},s=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},s):s}function d(e){const{siteConfig:{title:t}}=(0,s.Z)(),{navbar:{title:n,logo:u}}=(0,l.L)(),{imageClassName:d,titleClassName:f,...p}=e,m=(0,i.Z)(u?.href||"/"),h=n?"":t,g=u?.alt??h;return a.createElement(o.Z,(0,r.Z)({to:m},p,u?.target&&{target:u.target}),u&&a.createElement(c,{logo:u,alt:g,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(5742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,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}))}},941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7462),a=n(7294),o=n(6010),i=n(2389),s=n(2949);const l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function u(e){const t=(0,i.Z)(),{colorMode:n}=(0,s.I)(),{sources:u,className:c,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.Z)({key:e,src:u[e],alt:d,className:(0,o.Z)(l.themedImage,l[`themedImage--${e}`],c)},f)))))}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>g});var r=n(7462),a=n(7294),o=n(412),i=n(1442);const s="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 u={display:"none",overflow:"hidden",height:"0px"},c={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?u:c;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(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){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??s}`,height:`${t}px`}}function l(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return d(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function p(e){if(!o.Z.canUseDOM)return e?u:c}function m(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const u=(0,a.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),a.createElement(t,{ref:u,style:l?void 0:p(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(u.current,n),i?.(n))},className:s},r)}function h(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[s,l]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&l(t)}),[o,t]),o?a.createElement(m,(0,r.Z)({},n,{collapsed:s})):null}function g(e){let{lazy:t,...n}=e;const r=t?h:m;return a.createElement(r,n)}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>p});var r=n(7294),a=n(2389),o=n(12),i=n(902),s=n(6668);const l=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),c=()=>"true"===l.get(),d=e=>l.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&c()));(0,r.useEffect)((()=>{o(c())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&c()||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.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>h});var r=n(7294),a=n(412),o=n(902),i=n(12),s=n(6668);const l=r.createContext(void 0),u="theme",c=(0,i.WA)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,p=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{c.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[a,o]=(0,r.useState)(p(e));(0,r.useEffect)((()=>{t&&c.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),c.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!==u)return;const t=c.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(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||l.current?l.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(l.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(l);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>g});var r=n(7294),a=n(4104),o=n(9935),i=n(6668),s=n(2802),l=n(902),u=n(12);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,u.WA)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(c(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._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(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),s((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 s.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(p);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>s});var r=n(7294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function s(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 l(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),s=(n(1688),n(902));function l(e){!function(e){const t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const c=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=d();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>l,n2:()=>i});var r=n(7294),a=n(902);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 s(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,a.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);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)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>u});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(){return a.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const l=!1;function u(){const[e,t]=(0,r.useState)((()=>l?"ssr":s()));return(0,r.useEffect)((()=>{function e(){t(s())}const n=l?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>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:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{Wl:()=>f,_F:()=>h,cE:()=>d,hI:()=>k,lO:()=>v,vY:()=>w,oz:()=>y,s1:()=>b});var r=n(7294),a=n(6550),o=n(8790),i=n(4104),s=n(373),l=n(1116);function u(e){return Array.from(new Set(e))}var c=n(8596);const d=!!i._r;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,c.Mg)(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,c.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,c.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function b(){const e=(0,l.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?g({sidebarItems:e.items,pathname:t}):null}function v(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>u([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(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).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(`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- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function k(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,s=i.find((e=>(0,a.LX)(r.pathname,e)));if(!s)return null;const l=s.sidebar,u=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.H)(i),sidebarName:l,sidebarItems:u}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n(7294),a=n(6010),o=n(5742),i=n(226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(4996),u=n(2263);function c(e){let{title:t,description:n,keywords:a,image:i,children:s}=e;const c=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.C)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),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}),s)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:s},r.createElement(o.Z,null,r.createElement("html",{className:s})),n)}function p(e){let{children:t}=e;const n=s(),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.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>u,Ql:()=>l,i6:()=>s,zX:()=>o});var r=n(7294);const a=n(412).Z.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 s 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 l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.Z)().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.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>l,RF:()=>d});var r=n(7294),a=n(412),o=n(2389),i=n(902);const s=r.createContext(void 0);function l(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(s.Provider,{value:n},t)}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=c();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.Z)()&&"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?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>l});n(7294),n(1688);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(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,i||(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),i=!0),null}var t}let i=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};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,listen:t}}(e);const n=o(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(2263),a=n(6550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),s=o===n?e:e.replace(`/${o}/`,"/"),l=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${s}`:`${s}${e}/`}(r)}${l}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(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)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780: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.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},6010:(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,{lX:()=>w,q_:()=>C,ob:()=>p,PP:()=>A,Ep:()=>f});var r=n(7462);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(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(8776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(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.Z)({},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(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}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);c.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(9864),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},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var u=Object.defineProperty,c=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=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),g=0;g{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865: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),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,i(e,c,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),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");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.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 s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=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 u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(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)},7418: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,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l{var r=n(5826);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,s="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(s+=e.slice(i,p),i=p+d.length,f)s+=f[1];else{var m=e[i],h=n[2],g=n[3],b=n[4],v=n[5],y=n[6],w=n[7];s&&(r.push(s),s="");var k=null!=h&&null!=m&&m!==h,E="+"===y||"*"===y,_="?"===y||"*"===y,S=n[2]||c,x=b||v;r.push({name:g||o++,prefix:h||"",delimiter:S,optional:_,repeat:E,partial:k,asterisk:!!w,pattern:x?u(x):w?".*":"[^"+l(S)+"]+?"})}}return i{"use strict";n.d(t,{Z:()=>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);_+=E.value.length,E=E.next){var S=E.value;if(t.length>e.length)return;if(!(S instanceof a)){var x,C=1;if(v){if(!(x=o(k,_,e,b))||x.index>=e.length)break;var T=x.index,A=x.index+x[0].length,H=_;for(H+=E.value.length;T>=H;)H+=(E=E.next).value.length;if(_=H-=E.value.length,E.value instanceof a)continue;for(var N=E;N!==t.tail&&(Hd.reach&&(d.reach=R);var W=E.prev;if(P&&(W=l(t,W,P),_+=P.length),u(t,W,C),E=l(t,W,new a(f,g?r.tokenize(L,g):L,y,L)),O&&l(t,E,O),C>1){var I={cause:f+","+m,reach:R};i(e,t,n,E.prev,_,I),d&&I.reach>d.reach&&(d.reach=I.reach)}}}}}}function s(){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 l(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 u(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:'"'},l=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 s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l=0&&p(u,"variable-input")}}}}function c(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 s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(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 u(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,l(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=l(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);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,s=o.indexOf(a);if(-1!==s){++i;var l=o.substring(0,s),d=u(c[a]),p=o.substring(s+a.length),m=[];if(l&&m.push(l),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(""):""},s=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 l=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(l=i(t[r-1])+l,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",l,null,l)}a.content&&"string"!=typeof a.content&&s(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(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,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=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(s){for(var l=0;l=o.length);l++){var u=s[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),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 u?s.splice.apply(s,[l,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return s}(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},7046:()=>{Prism.languages.go=Prism.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/}),Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go["class-name"]},366:()=>{Prism.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:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},9385:()=>{!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism)},767:()=>{!function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|)*\*\//.source,n=0;n<2;n++)t=t.replace(//g,(function(){return t}));t=t.replace(//g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism)},9930:()=>{!function(e){var t=/(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;function n(e){return e.replace(/__/g,(function(){return t}))}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}}(Prism)},304:(e,t,n)=>{var r={"./prism-go":7046,"./prism-python":366,"./prism-ruby":9385,"./prism-rust":767,"./prism-toml":9930};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=304},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=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 s.name="Invariant Violation",s}}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}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(7418),o=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n