From 40898b1c8cc4149067cb9bcc9fd325508e78e64f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 18 Jan 2025 14:20:31 +0000 Subject: [PATCH] deploy: bc8cd5096ecbfe7b77d37c8b2f77dc8e6b277cb9 --- 404.html | 8 ++++---- assets/js/77a826f1.390b1a2e.js | 1 - assets/js/77a826f1.63702f1b.js | 1 + .../{935f2afb.0af7deae.js => 935f2afb.4e72029f.js} | 2 +- assets/js/{main.01145d67.js => main.e168a830.js} | 4 ++-- ...7.js.LICENSE.txt => main.e168a830.js.LICENSE.txt} | 0 ...ime~main.0c139ca2.js => runtime~main.371334cd.js} | 2 +- blog/archive/index.html | 8 ++++---- blog/hello-world/index.html | 8 ++++---- blog/index.html | 8 ++++---- blog/nutgram-4/index.html | 8 ++++---- blog/symfony-support/index.html | 8 ++++---- blog/tags/hello/index.html | 8 ++++---- blog/tags/index.html | 8 ++++---- blog/tags/major/index.html | 8 ++++---- blog/tags/nutgram/index.html | 8 ++++---- blog/tags/release/index.html | 8 ++++---- blog/tags/symfony/index.html | 8 ++++---- blog/tags/world/index.html | 8 ++++---- docs/1.x/category/getting-started/index.html | 8 ++++---- docs/1.x/category/usage/index.html | 8 ++++---- docs/1.x/configuration/cache/index.html | 8 ++++---- docs/1.x/configuration/installation/index.html | 8 ++++---- docs/1.x/configuration/laravel/index.html | 8 ++++---- docs/1.x/introduction/index.html | 8 ++++---- docs/1.x/search-index.json | 2 +- docs/1.x/usage/conversations/index.html | 8 ++++---- docs/1.x/usage/getting_updates/index.html | 8 ++++---- docs/1.x/usage/handlers/index.html | 8 ++++---- docs/1.x/usage/inline_menu/index.html | 8 ++++---- docs/1.x/usage/middleware/index.html | 8 ++++---- docs/1.x/usage/sending_requests/index.html | 8 ++++---- docs/2.x/category/getting-started/index.html | 8 ++++---- docs/2.x/category/testing/index.html | 8 ++++---- docs/2.x/category/upgrading/index.html | 8 ++++---- docs/2.x/category/usage/index.html | 8 ++++---- docs/2.x/configuration/cache/index.html | 8 ++++---- docs/2.x/configuration/installation/index.html | 8 ++++---- docs/2.x/configuration/laravel/index.html | 8 ++++---- docs/2.x/introduction/index.html | 8 ++++---- docs/2.x/search-index.json | 2 +- docs/2.x/testing/asserting/index.html | 8 ++++---- docs/2.x/testing/hearing/index.html | 8 ++++---- docs/2.x/testing/introduction/index.html | 8 ++++---- docs/2.x/testing/mocking/index.html | 8 ++++---- docs/2.x/upgrading/from-1.x-to-2.x/index.html | 8 ++++---- docs/2.x/usage/conversations/index.html | 8 ++++---- docs/2.x/usage/extend/index.html | 8 ++++---- docs/2.x/usage/getting_updates/index.html | 8 ++++---- docs/2.x/usage/handlers/index.html | 8 ++++---- docs/2.x/usage/inline_menu/index.html | 8 ++++---- docs/2.x/usage/middleware/index.html | 8 ++++---- docs/2.x/usage/sending_requests/index.html | 8 ++++---- docs/3.x/category/getting-started/index.html | 8 ++++---- docs/3.x/category/testing/index.html | 8 ++++---- docs/3.x/category/upgrading/index.html | 8 ++++---- docs/3.x/category/usage/index.html | 8 ++++---- docs/3.x/configuration/cache/index.html | 8 ++++---- docs/3.x/configuration/installation/index.html | 8 ++++---- docs/3.x/configuration/laravel/index.html | 8 ++++---- docs/3.x/configuration/logging/index.html | 8 ++++---- docs/3.x/configuration/symfony/index.html | 8 ++++---- docs/3.x/introduction/index.html | 8 ++++---- docs/3.x/search-index.json | 2 +- docs/3.x/testing/asserting/index.html | 8 ++++---- docs/3.x/testing/hearing/index.html | 8 ++++---- docs/3.x/testing/introduction/index.html | 8 ++++---- docs/3.x/testing/mocking/index.html | 8 ++++---- docs/3.x/upgrading/from-1.x-to-2.x/index.html | 8 ++++---- docs/3.x/upgrading/from-2.x-to-3.x/index.html | 8 ++++---- docs/3.x/usage/bulk_messenger/index.html | 8 ++++---- docs/3.x/usage/conversations/index.html | 8 ++++---- docs/3.x/usage/extend/index.html | 8 ++++---- docs/3.x/usage/getting_updates/index.html | 8 ++++---- docs/3.x/usage/handlers/index.html | 8 ++++---- docs/3.x/usage/inline_menu/index.html | 8 ++++---- docs/3.x/usage/keyboards/index.html | 8 ++++---- docs/3.x/usage/middleware/index.html | 8 ++++---- docs/3.x/usage/sending_requests/index.html | 8 ++++---- docs/category/-getting-started/index.html | 10 +++++----- docs/category/-upgrading/index.html | 8 ++++---- docs/category/-usage/index.html | 8 ++++---- "docs/category/\357\270\217-testing/index.html" | 8 ++++---- docs/configuration/cache/index.html | 8 ++++---- docs/configuration/installation/index.html | 8 ++++---- docs/configuration/laravel/index.html | 12 ++++++------ docs/configuration/logging/index.html | 8 ++++---- docs/configuration/symfony/index.html | 8 ++++---- docs/introduction/index.html | 8 ++++---- docs/testing/asserting/index.html | 8 ++++---- docs/testing/hearing/index.html | 8 ++++---- docs/testing/introduction/index.html | 8 ++++---- docs/testing/mocking/index.html | 8 ++++---- docs/upgrading/from-1.x-to-2.x/index.html | 8 ++++---- docs/upgrading/from-2.x-to-3.x/index.html | 8 ++++---- docs/upgrading/from-3.x-to-4.x/index.html | 8 ++++---- docs/usage/bulk_messenger/index.html | 8 ++++---- docs/usage/conversations/index.html | 8 ++++---- docs/usage/extend/index.html | 8 ++++---- docs/usage/getting_updates/index.html | 8 ++++---- docs/usage/handlers/index.html | 8 ++++---- docs/usage/inline_menu/index.html | 8 ++++---- docs/usage/keyboards/index.html | 8 ++++---- docs/usage/middleware/index.html | 8 ++++---- docs/usage/sending_requests/index.html | 8 ++++---- docs/usage/web_validation/index.html | 8 ++++---- index.html | 8 ++++---- search-index.json | 2 +- search/index.html | 8 ++++---- 109 files changed, 408 insertions(+), 408 deletions(-) delete mode 100644 assets/js/77a826f1.390b1a2e.js create mode 100644 assets/js/77a826f1.63702f1b.js rename assets/js/{935f2afb.0af7deae.js => 935f2afb.4e72029f.js} (50%) rename assets/js/{main.01145d67.js => main.e168a830.js} (99%) rename assets/js/{main.01145d67.js.LICENSE.txt => main.e168a830.js.LICENSE.txt} (100%) rename assets/js/{runtime~main.0c139ca2.js => runtime~main.371334cd.js} (98%) diff --git a/404.html b/404.html index 02573c14..87e8d507 100644 --- a/404.html +++ b/404.html @@ -10,13 +10,13 @@ - - + +
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/assets/js/77a826f1.390b1a2e.js b/assets/js/77a826f1.390b1a2e.js deleted file mode 100644 index beb5f405..00000000 --- a/assets/js/77a826f1.390b1a2e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknutgram_docs=self.webpackChunknutgram_docs||[]).push([[2120],{82173:function(e,a,t){t.r(a),t.d(a,{assets:function(){return p},contentTitle:function(){return i},default:function(){return u},frontMatter:function(){return r},metadata:function(){return o},toc:function(){return m}});var n=t(83117),l=(t(67294),t(3905));t(56022);const r={sidebar_position:4},i="Laravel",o={unversionedId:"configuration/laravel",id:"configuration/laravel",title:"Laravel",description:"Instead of installing the base nutgram/nutgram base package, you have to install the package version:",source:"@site/docs/configuration/laravel.md",sourceDirName:"configuration",slug:"/configuration/laravel",permalink:"/docs/configuration/laravel",draft:!1,editUrl:"https://github.com/nutgram/docs/tree/master/docs/configuration/laravel.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Logging",permalink:"/docs/configuration/logging"},next:{title:"Symfony",permalink:"/docs/configuration/symfony"}},p={},m=[{value:"Configuration",id:"configuration",level:2},{value:"Commands",id:"commands",level:2},{value:"Logging",id:"logging",level:2},{value:"telegram channel",id:"telegram-channel",level:3},{value:"Output:",id:"output",level:4},{value:"nutgram channel",id:"nutgram-channel",level:3},{value:"Output:",id:"output-1",level:4},{value:"Handlers definition",id:"handlers-definition",level:2},{value:"Mixins",id:"mixins",level:2},{value:"Webhook updates",id:"webhook-updates",level:2},{value:"Safe Mode",id:"safe-mode",level:3},{value:"Facade support",id:"facade-support",level:2},{value:"Middleware",id:"middleware",level:2},{value:"ValidateWebAppData",id:"validatewebappdata",level:3},{value:"Testing",id:"testing",level:2}],s={toc:m};function u(e){let{components:a,...t}=e;return(0,l.kt)("wrapper",(0,n.Z)({},s,t,{components:a,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"laravel"},"Laravel"),(0,l.kt)("p",null,"Instead of installing the base ",(0,l.kt)("inlineCode",{parentName:"p"},"nutgram/nutgram")," base package, you have to install the package version:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"composer require nutgram/laravel\n\n# remove the base package if you have installed it:\n# composer remove nutgram/nutgram\n")),(0,l.kt)("p",null,"In you ",(0,l.kt)("inlineCode",{parentName:"p"},".env")," file, you should only define the ",(0,l.kt)("inlineCode",{parentName:"p"},"TELEGRAM_TOKEN")," var, that's it!"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},'TELEGRAM_TOKEN="api-telegram-token"\n')),(0,l.kt)("p",null,"The framework instance, is available anywhere via the DI container, for example:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"}," env('TELEGRAM_TOKEN'),\n\n // if the webhook mode must validate the incoming IP range is from a telegram server\n 'safe_mode' => env('APP_ENV', 'local') === 'production',\n\n // Extra or specific configurations\n 'config' => [],\n\n // Set if the service provider should automatically load\n // handlers from /routes/telegram.php\n 'routes' => true,\n\n // Enable or disable Nutgram mixins\n 'mixins' => false,\n\n // Path to save files generated by nutgram:make command\n 'namespace' => app_path('Telegram'),\n\n // Set log channel\n 'log_channel' => env('TELEGRAM_LOG_CHANNEL', 'null'),\n")),(0,l.kt)("p",null,"The second ",(0,l.kt)("inlineCode",{parentName:"p"},"config")," array, is basically any configuration option, already\nexplained ",(0,l.kt)("a",{parentName:"p",href:"/docs/configuration/installation#configuration"},"here"),".",(0,l.kt)("br",null)),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},"However, please remember to convert the keys to ",(0,l.kt)("strong",{parentName:"p"},"snake_case"),".",(0,l.kt)("br",null),"\nAdditionally, any keys starting with ",(0,l.kt)("inlineCode",{parentName:"p"},"polling")," should be divided into a sub-array.")),(0,l.kt)("p",null,"The third ",(0,l.kt)("inlineCode",{parentName:"p"},"routes"),", set if the service provider should load the handlers form the folder ",(0,l.kt)("inlineCode",{parentName:"p"},"routes/telegram.php"),", by\ndefault is ",(0,l.kt)("inlineCode",{parentName:"p"},"true"),"."),(0,l.kt)("h2",{id:"commands"},"Commands"),(0,l.kt)("p",null,"The framework automatically register some useful commands in your Laravel application:"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:list"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"List all registered handlers"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:hook:info"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Get current webhook status"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:hook:remove {--d|drop-pending-updates}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Remove the bot webhook"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:hook:set {url}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Set the bot webhook"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:register-commands"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Register the bot commands, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/handlers#automatically-register-bot-commands"},"automatically register bot commands")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:run"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Start the bot in long polling mode. Useful in development mode."))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:command {name}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new command class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/handlers#registercommand"},"Commands")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:conversation {name} {--menu}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new conversation class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/conversations#creating-conversations"},"Conversations")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:handler {name}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new handler class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/handlers#oop"},"Handlers")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:middleware {name}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new middleware class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/middleware#oop"},"Middleware")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:exception {name}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new ApiException class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/handlers#register-api-exceptions"},"Register API exceptions")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:ide:generate"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Generate a file helping IDEs to autocomplete ",(0,l.kt)("a",{parentName:"li",href:"#mixins"},"mixins")," methods."))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:logout {--d|drop-pending-updates}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Log out from the cloud Bot API server")))),(0,l.kt)("h1",{id:"cache"},"Cache"),(0,l.kt)("p",null,"The cache adapter gets automatically configured by Laravel; make sure to configure the appropriate driver inside your\n",(0,l.kt)("inlineCode",{parentName:"p"},"config/cache.php")," and ",(0,l.kt)("inlineCode",{parentName:"p"},".env")," file."),(0,l.kt)("h2",{id:"logging"},"Logging"),(0,l.kt)("h3",{id:"telegram-channel"},(0,l.kt)("inlineCode",{parentName:"h3"},"telegram")," channel"),(0,l.kt)("p",null,"The framework provides a channel to log any data you want to a Telegram chat.",(0,l.kt)("br",null),"\nTo use it, you need to create the ",(0,l.kt)("inlineCode",{parentName:"p"},"telegram")," channel inside the ",(0,l.kt)("inlineCode",{parentName:"p"},"config/logging.php")," file:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"'telegram' => [\n 'driver' => 'custom',\n 'via' => \\Nutgram\\Laravel\\Log\\NutgramLogger::class,\n 'level' => 'debug',\n 'chat_id' => env('NUTGRAM_LOG_CHAT_ID'), // any chat_id where bot can write messages\n]\n")),(0,l.kt)("p",null,"Now, you can log any data to the chat using the ",(0,l.kt)("inlineCode",{parentName:"p"},"telegram")," channel:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"Log::channel('telegram')->info('Hello world!', ['xyz' => 123]);\n")),(0,l.kt)("h4",{id:"output"},"Output:"),(0,l.kt)("p",null,(0,l.kt)("img",{parentName:"p",src:"https://i.imgur.com/Gph2XmO.png",alt:"logger"})),(0,l.kt)("h3",{id:"nutgram-channel"},(0,l.kt)("inlineCode",{parentName:"h3"},"nutgram")," channel"),(0,l.kt)("p",null,"The framework provides a channel formatter to show the ",(0,l.kt)("a",{parentName:"p",href:"../configuration/logging"},"Nutgram logs")," in a more readable way in the console.",(0,l.kt)("br",null),"\nTo use it, you need to create the ",(0,l.kt)("inlineCode",{parentName:"p"},"nutgram")," channel inside the ",(0,l.kt)("inlineCode",{parentName:"p"},"config/logging.php")," file:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"'nutgram' => [\n 'driver' => 'monolog',\n 'level' => env('LOG_LEVEL', 'debug'),\n 'handler' => StreamHandler::class,\n 'formatter' => Nutgram\\Laravel\\Log\\NutgramFormatter::class,\n 'with' => [\n 'stream' => 'php://stderr',\n ],\n 'processors' => [PsrLogMessageProcessor::class],\n],\n")),(0,l.kt)("p",null,"Then add the ",(0,l.kt)("inlineCode",{parentName:"p"},"nutgram")," channel to the ",(0,l.kt)("inlineCode",{parentName:"p"},"TELEGRAM_LOG_CHANNEL")," env var:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-dotenv"},"TELEGRAM_LOG_CHANNEL=nutgram\n")),(0,l.kt)("h4",{id:"output-1"},"Output:"),(0,l.kt)("p",null,(0,l.kt)("img",{parentName:"p",src:"https://i.imgur.com/SU7P8Ug.png",alt:"logger"})),(0,l.kt)("h2",{id:"handlers-definition"},"Handlers definition"),(0,l.kt)("p",null,"The ",(0,l.kt)("inlineCode",{parentName:"p"},"routes/telegram.php")," should be something like this:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"onCommand('start', function (Nutgram $bot) {\n return $bot->sendMessage('Hello, world!');\n})->description('The start command!');\n")),(0,l.kt)("p",null,"This file is automatically loaded by the framework, so here is where you should define middleware, handlers and\nconversations."),(0,l.kt)("h2",{id:"mixins"},"Mixins"),(0,l.kt)("p",null,"Nutgram provides a few mixins to help you work best with Laravel."),(0,l.kt)("p",null,"Just enable the ",(0,l.kt)("inlineCode",{parentName:"p"},"mixins")," option in the ",(0,l.kt)("inlineCode",{parentName:"p"},"config/nutgram.php")," file, and you will be able to use them in your handlers."),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"p"},"Nutgram")," class:"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"downloadFileToDisk(File $file, string $path, string $disk = null, array $clientOpt = []): bool"),(0,l.kt)("br",null),(0,l.kt)("em",{parentName:"li"},"Save a File to Laravel disk.")," "))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"p"},"File")," class:"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"saveToDisk(string $path, string $disk = null, array $clientOpt = []): bool"),(0,l.kt)("br",null),(0,l.kt)("em",{parentName:"li"},"Save the File to Laravel disk."))))),(0,l.kt)("h2",{id:"webhook-updates"},"Webhook updates"),(0,l.kt)("p",null,"For production mode, the webhook mode is recommended. Run the bot in that way is really simple, you should just create a\nnew controller ",(0,l.kt)("inlineCode",{parentName:"p"},"php artisan make:controller FrontController"),", and call the ",(0,l.kt)("inlineCode",{parentName:"p"},"run")," method on the bot instance:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"class FrontController extends Controller\n{\n /**\n * Handle the telegram webhook request.\n */\n public function __invoke(Nutgram $bot)\n {\n $bot->run();\n }\n}\n")),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"When calling the ",(0,l.kt)("inlineCode",{parentName:"p"},"run()")," method on the bot instance, it automatically recognize if use the ",(0,l.kt)("inlineCode",{parentName:"p"},"Polling")," method to retrieve updates,\nor ",(0,l.kt)("inlineCode",{parentName:"p"},"Webhook"),", based on whether the current instance is running in a cli process, or is serving a web request.")),(0,l.kt)("p",null,"and remember to register it on you http routes:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"// routes/api.php\n\nRoute::post('/webhook', 'FrontController');\n")),(0,l.kt)("h3",{id:"safe-mode"},"Safe Mode"),(0,l.kt)("p",null,"The safe mode is enabled by default via the ",(0,l.kt)("inlineCode",{parentName:"p"},"safe_mode")," option in the ",(0,l.kt)("inlineCode",{parentName:"p"},"config/nutgram.php")," file."),(0,l.kt)("p",null,"When enabled, the webhook mode will validate the incoming update using a secret token."),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},"Make sure to set the bot webhook via the ",(0,l.kt)("inlineCode",{parentName:"p"},"nutgram:hook:set")," command! ")),(0,l.kt)("h2",{id:"facade-support"},"Facade support"),(0,l.kt)("p",null,"Nutgram provides a Facade to access the bot instance anywhere in your application."),(0,l.kt)("p",null,"You can use it like this:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"use Nutgram\\Laravel\\Facades\\Telegram;\n\nTelegram::sendMessage('Hello, world!');\n")),(0,l.kt)("p",null,"You can use the Facade in your ",(0,l.kt)("inlineCode",{parentName:"p"},"telegram.php")," routes file too:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"use Nutgram\\Laravel\\Facades\\Telegram;\n\nTelegram::onCommand('start', function () {\n Telegram::sendMessage('Hello, world!');\n});\n")),(0,l.kt)("h2",{id:"middleware"},"Middleware"),(0,l.kt)("h3",{id:"validatewebappdata"},"ValidateWebAppData"),(0,l.kt)("p",null,"Nutgram provides a middleware to validate the data received from the ",(0,l.kt)("a",{parentName:"p",href:"https://core.telegram.org/bots/webapps"},"Mini App"),".",(0,l.kt)("br",null),"\nJust add the middleware to the route you want to protect:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"use Nutgram\\Laravel\\Middleware\\ValidateWebAppData;\n\nRoute::middleware(ValidateWebAppData::class)->group(function () {\n // your routes here\n});\n")),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},"Remember to pass the ",(0,l.kt)("inlineCode",{parentName:"p"},"initData")," parameter in order to validate the data,\nsee ",(0,l.kt)("a",{parentName:"p",href:"https://core.telegram.org/bots/webapps"},"Mini App")," for more info.")),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"To get the ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/nutgram/nutgram/blob/master/src/Telegram/Web/WebAppData.php"},(0,l.kt)("inlineCode",{parentName:"a"},"WebAppData"))," object\ninside your routes, you can use the ",(0,l.kt)("inlineCode",{parentName:"p"},"webAppData()")," helper function.")),(0,l.kt)("h2",{id:"testing"},"Testing"),(0,l.kt)("p",null,"Inside unit tests, you can automatically retrieve the ",(0,l.kt)("inlineCode",{parentName:"p"},"fake")," instance with all your handlers and middleware loaded,\nsimply by resolving it via DI:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"namespace Tests\\Feature;\n\nuse SergiX44\\Nutgram\\Nutgram;\nuse Tests\\TestCase;\n\nclass ExampleTest extends TestCase\n{\n /**\n * @return void\n */\n public function test_bot()\n {\n $bot = app(Nutgram::class);\n \n // ...\n }\n}\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/77a826f1.63702f1b.js b/assets/js/77a826f1.63702f1b.js new file mode 100644 index 00000000..4d6a1554 --- /dev/null +++ b/assets/js/77a826f1.63702f1b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknutgram_docs=self.webpackChunknutgram_docs||[]).push([[2120],{82173:function(e,a,t){t.r(a),t.d(a,{assets:function(){return p},contentTitle:function(){return i},default:function(){return u},frontMatter:function(){return r},metadata:function(){return o},toc:function(){return m}});var n=t(83117),l=(t(67294),t(3905));t(56022);const r={sidebar_position:4},i="Laravel",o={unversionedId:"configuration/laravel",id:"configuration/laravel",title:"Laravel",description:"Instead of installing the base nutgram/nutgram package, you have to install a specific version of the package:",source:"@site/docs/configuration/laravel.md",sourceDirName:"configuration",slug:"/configuration/laravel",permalink:"/docs/configuration/laravel",draft:!1,editUrl:"https://github.com/nutgram/docs/tree/master/docs/configuration/laravel.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Logging",permalink:"/docs/configuration/logging"},next:{title:"Symfony",permalink:"/docs/configuration/symfony"}},p={},m=[{value:"Configuration",id:"configuration",level:2},{value:"Commands",id:"commands",level:2},{value:"Logging",id:"logging",level:2},{value:"telegram channel",id:"telegram-channel",level:3},{value:"Output:",id:"output",level:4},{value:"nutgram channel",id:"nutgram-channel",level:3},{value:"Output:",id:"output-1",level:4},{value:"Handlers definition",id:"handlers-definition",level:2},{value:"Mixins",id:"mixins",level:2},{value:"Webhook updates",id:"webhook-updates",level:2},{value:"Safe Mode",id:"safe-mode",level:3},{value:"Facade support",id:"facade-support",level:2},{value:"Middleware",id:"middleware",level:2},{value:"ValidateWebAppData",id:"validatewebappdata",level:3},{value:"Testing",id:"testing",level:2}],s={toc:m};function u(e){let{components:a,...t}=e;return(0,l.kt)("wrapper",(0,n.Z)({},s,t,{components:a,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"laravel"},"Laravel"),(0,l.kt)("p",null,"Instead of installing the base ",(0,l.kt)("inlineCode",{parentName:"p"},"nutgram/nutgram")," package, you have to install a specific version of the package:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"composer require nutgram/laravel\n\n# remove the base package if you have installed it:\n# composer remove nutgram/nutgram\n")),(0,l.kt)("p",null,"In you ",(0,l.kt)("inlineCode",{parentName:"p"},".env")," file, you should only define the ",(0,l.kt)("inlineCode",{parentName:"p"},"TELEGRAM_TOKEN")," var, that's it!"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},'TELEGRAM_TOKEN="api-telegram-token"\n')),(0,l.kt)("p",null,"The framework instance, is available anywhere via the DI container, for example:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"}," env('TELEGRAM_TOKEN'),\n\n // if the webhook mode must validate the incoming IP range is from a telegram server\n 'safe_mode' => env('APP_ENV', 'local') === 'production',\n\n // Extra or specific configurations\n 'config' => [],\n\n // Set if the service provider should automatically load\n // handlers from /routes/telegram.php\n 'routes' => true,\n\n // Enable or disable Nutgram mixins\n 'mixins' => false,\n\n // Path to save files generated by nutgram:make command\n 'namespace' => app_path('Telegram'),\n\n // Set log channel\n 'log_channel' => env('TELEGRAM_LOG_CHANNEL', 'null'),\n")),(0,l.kt)("p",null,"The second ",(0,l.kt)("inlineCode",{parentName:"p"},"config")," array, is basically any configuration option, already\nexplained ",(0,l.kt)("a",{parentName:"p",href:"/docs/configuration/installation#configuration"},"here"),".",(0,l.kt)("br",null)),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},"However, please remember to convert the keys to ",(0,l.kt)("strong",{parentName:"p"},"snake_case"),".",(0,l.kt)("br",null),"\nAdditionally, any keys starting with ",(0,l.kt)("inlineCode",{parentName:"p"},"polling")," should be divided into a sub-array.")),(0,l.kt)("p",null,"The third ",(0,l.kt)("inlineCode",{parentName:"p"},"routes"),", set if the service provider should load the handlers form the folder ",(0,l.kt)("inlineCode",{parentName:"p"},"routes/telegram.php"),", by\ndefault is ",(0,l.kt)("inlineCode",{parentName:"p"},"true"),"."),(0,l.kt)("h2",{id:"commands"},"Commands"),(0,l.kt)("p",null,"The framework automatically register some useful commands in your Laravel application:"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:list"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"List all registered handlers"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:hook:info"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Get current webhook status"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:hook:remove {--d|drop-pending-updates}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Remove the bot webhook"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:hook:set {url}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Set the bot webhook"))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:register-commands"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Register the bot commands, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/handlers#automatically-register-bot-commands"},"automatically register bot commands")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:run"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Start the bot in long polling mode. Useful in development mode."))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:command {name}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new command class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/handlers#registercommand"},"Commands")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:conversation {name} {--menu}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new conversation class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/conversations#creating-conversations"},"Conversations")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:handler {name}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new handler class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/handlers#oop"},"Handlers")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:middleware {name}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new middleware class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/middleware#oop"},"Middleware")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:make:exception {name}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Create a new ApiException class, see ",(0,l.kt)("a",{parentName:"li",href:"../usage/handlers#register-api-exceptions"},"Register API exceptions")))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:ide:generate"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Generate a file helping IDEs to autocomplete ",(0,l.kt)("a",{parentName:"li",href:"#mixins"},"mixins")," methods."))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"nutgram:logout {--d|drop-pending-updates}"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Log out from the cloud Bot API server")))),(0,l.kt)("h1",{id:"cache"},"Cache"),(0,l.kt)("p",null,"The cache adapter gets automatically configured by Laravel; make sure to configure the appropriate driver inside your\n",(0,l.kt)("inlineCode",{parentName:"p"},"config/cache.php")," and ",(0,l.kt)("inlineCode",{parentName:"p"},".env")," file."),(0,l.kt)("h2",{id:"logging"},"Logging"),(0,l.kt)("h3",{id:"telegram-channel"},(0,l.kt)("inlineCode",{parentName:"h3"},"telegram")," channel"),(0,l.kt)("p",null,"The framework provides a channel to log any data you want to a Telegram chat.",(0,l.kt)("br",null),"\nTo use it, you need to create the ",(0,l.kt)("inlineCode",{parentName:"p"},"telegram")," channel inside the ",(0,l.kt)("inlineCode",{parentName:"p"},"config/logging.php")," file:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"'telegram' => [\n 'driver' => 'custom',\n 'via' => \\Nutgram\\Laravel\\Log\\NutgramLogger::class,\n 'level' => 'debug',\n 'chat_id' => env('NUTGRAM_LOG_CHAT_ID'), // any chat_id where bot can write messages\n]\n")),(0,l.kt)("p",null,"Now, you can log any data to the chat using the ",(0,l.kt)("inlineCode",{parentName:"p"},"telegram")," channel:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"Log::channel('telegram')->info('Hello world!', ['xyz' => 123]);\n")),(0,l.kt)("h4",{id:"output"},"Output:"),(0,l.kt)("p",null,(0,l.kt)("img",{parentName:"p",src:"https://i.imgur.com/Gph2XmO.png",alt:"logger"})),(0,l.kt)("h3",{id:"nutgram-channel"},(0,l.kt)("inlineCode",{parentName:"h3"},"nutgram")," channel"),(0,l.kt)("p",null,"The framework provides a channel formatter to show the ",(0,l.kt)("a",{parentName:"p",href:"../configuration/logging"},"Nutgram logs")," in a more readable way in the console.",(0,l.kt)("br",null),"\nTo use it, you need to create the ",(0,l.kt)("inlineCode",{parentName:"p"},"nutgram")," channel inside the ",(0,l.kt)("inlineCode",{parentName:"p"},"config/logging.php")," file:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"'nutgram' => [\n 'driver' => 'monolog',\n 'level' => env('LOG_LEVEL', 'debug'),\n 'handler' => StreamHandler::class,\n 'formatter' => Nutgram\\Laravel\\Log\\NutgramFormatter::class,\n 'with' => [\n 'stream' => 'php://stderr',\n ],\n 'processors' => [PsrLogMessageProcessor::class],\n],\n")),(0,l.kt)("p",null,"Then add the ",(0,l.kt)("inlineCode",{parentName:"p"},"nutgram")," channel to the ",(0,l.kt)("inlineCode",{parentName:"p"},"TELEGRAM_LOG_CHANNEL")," env var:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-dotenv"},"TELEGRAM_LOG_CHANNEL=nutgram\n")),(0,l.kt)("h4",{id:"output-1"},"Output:"),(0,l.kt)("p",null,(0,l.kt)("img",{parentName:"p",src:"https://i.imgur.com/SU7P8Ug.png",alt:"logger"})),(0,l.kt)("h2",{id:"handlers-definition"},"Handlers definition"),(0,l.kt)("p",null,"The ",(0,l.kt)("inlineCode",{parentName:"p"},"routes/telegram.php")," should be something like this:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"onCommand('start', function (Nutgram $bot) {\n return $bot->sendMessage('Hello, world!');\n})->description('The start command!');\n")),(0,l.kt)("p",null,"This file is automatically loaded by the framework, so here is where you should define middleware, handlers and\nconversations."),(0,l.kt)("h2",{id:"mixins"},"Mixins"),(0,l.kt)("p",null,"Nutgram provides a few mixins to help you work best with Laravel."),(0,l.kt)("p",null,"Just enable the ",(0,l.kt)("inlineCode",{parentName:"p"},"mixins")," option in the ",(0,l.kt)("inlineCode",{parentName:"p"},"config/nutgram.php")," file, and you will be able to use them in your handlers."),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"p"},"Nutgram")," class:"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"downloadFileToDisk(File $file, string $path, string $disk = null, array $clientOpt = []): bool"),(0,l.kt)("br",null),(0,l.kt)("em",{parentName:"li"},"Save a File to Laravel disk.")," "))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},(0,l.kt)("inlineCode",{parentName:"p"},"File")," class:"),(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"saveToDisk(string $path, string $disk = null, array $clientOpt = []): bool"),(0,l.kt)("br",null),(0,l.kt)("em",{parentName:"li"},"Save the File to Laravel disk."))))),(0,l.kt)("h2",{id:"webhook-updates"},"Webhook updates"),(0,l.kt)("p",null,"For production mode, the webhook mode is recommended. Run the bot in that way is really simple, you should just create a\nnew controller ",(0,l.kt)("inlineCode",{parentName:"p"},"php artisan make:controller FrontController"),", and call the ",(0,l.kt)("inlineCode",{parentName:"p"},"run")," method on the bot instance:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"class FrontController extends Controller\n{\n /**\n * Handle the telegram webhook request.\n */\n public function __invoke(Nutgram $bot)\n {\n $bot->run();\n }\n}\n")),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"When calling the ",(0,l.kt)("inlineCode",{parentName:"p"},"run()")," method on the bot instance, it automatically recognize if use the ",(0,l.kt)("inlineCode",{parentName:"p"},"Polling")," method to retrieve updates,\nor ",(0,l.kt)("inlineCode",{parentName:"p"},"Webhook"),", based on whether the current instance is running in a cli process, or is serving a web request.")),(0,l.kt)("p",null,"and remember to register it on you http routes:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"// routes/api.php\n\nRoute::post('/webhook', 'FrontController');\n")),(0,l.kt)("h3",{id:"safe-mode"},"Safe Mode"),(0,l.kt)("p",null,"The safe mode is enabled by default via the ",(0,l.kt)("inlineCode",{parentName:"p"},"safe_mode")," option in the ",(0,l.kt)("inlineCode",{parentName:"p"},"config/nutgram.php")," file."),(0,l.kt)("p",null,"When enabled, the webhook mode will validate the incoming update using a secret token."),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},"Make sure to set the bot webhook via the ",(0,l.kt)("inlineCode",{parentName:"p"},"nutgram:hook:set")," command! ")),(0,l.kt)("h2",{id:"facade-support"},"Facade support"),(0,l.kt)("p",null,"Nutgram provides a Facade to access the bot instance anywhere in your application."),(0,l.kt)("p",null,"You can use it like this:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"use Nutgram\\Laravel\\Facades\\Telegram;\n\nTelegram::sendMessage('Hello, world!');\n")),(0,l.kt)("p",null,"You can use the Facade in your ",(0,l.kt)("inlineCode",{parentName:"p"},"telegram.php")," routes file too:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"use Nutgram\\Laravel\\Facades\\Telegram;\n\nTelegram::onCommand('start', function () {\n Telegram::sendMessage('Hello, world!');\n});\n")),(0,l.kt)("h2",{id:"middleware"},"Middleware"),(0,l.kt)("h3",{id:"validatewebappdata"},"ValidateWebAppData"),(0,l.kt)("p",null,"Nutgram provides a middleware to validate the data received from the ",(0,l.kt)("a",{parentName:"p",href:"https://core.telegram.org/bots/webapps"},"Mini App"),".",(0,l.kt)("br",null),"\nJust add the middleware to the route you want to protect:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"use Nutgram\\Laravel\\Middleware\\ValidateWebAppData;\n\nRoute::middleware(ValidateWebAppData::class)->group(function () {\n // your routes here\n});\n")),(0,l.kt)("admonition",{type:"caution"},(0,l.kt)("p",{parentName:"admonition"},"Remember to pass the ",(0,l.kt)("inlineCode",{parentName:"p"},"initData")," parameter in order to validate the data,\nsee ",(0,l.kt)("a",{parentName:"p",href:"https://core.telegram.org/bots/webapps"},"Mini App")," for more info.")),(0,l.kt)("admonition",{type:"tip"},(0,l.kt)("p",{parentName:"admonition"},"To get the ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/nutgram/nutgram/blob/master/src/Telegram/Web/WebAppData.php"},(0,l.kt)("inlineCode",{parentName:"a"},"WebAppData"))," object\ninside your routes, you can use the ",(0,l.kt)("inlineCode",{parentName:"p"},"webAppData()")," helper function.")),(0,l.kt)("h2",{id:"testing"},"Testing"),(0,l.kt)("p",null,"Inside unit tests, you can automatically retrieve the ",(0,l.kt)("inlineCode",{parentName:"p"},"fake")," instance with all your handlers and middleware loaded,\nsimply by resolving it via DI:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-php"},"namespace Tests\\Feature;\n\nuse SergiX44\\Nutgram\\Nutgram;\nuse Tests\\TestCase;\n\nclass ExampleTest extends TestCase\n{\n /**\n * @return void\n */\n public function test_bot()\n {\n $bot = app(Nutgram::class);\n \n // ...\n }\n}\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.0af7deae.js b/assets/js/935f2afb.4e72029f.js similarity index 50% rename from assets/js/935f2afb.0af7deae.js rename to assets/js/935f2afb.4e72029f.js index 3d387e30..22bb2a79 100644 --- a/assets/js/935f2afb.0af7deae.js +++ b/assets/js/935f2afb.4e72029f.js @@ -1 +1 @@ -"use strict";(self.webpackChunknutgram_docs=self.webpackChunknutgram_docs||[]).push([[53],{1109:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"4.x","banner":null,"badge":true,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"\ud83d\udcdc Introduction","href":"/docs/introduction","docId":"introduction"},{"type":"category","label":"\ud83c\udfc1 Getting Started","collapsed":false,"items":[{"type":"link","label":"Installation","href":"/docs/configuration/installation","docId":"configuration/installation"},{"type":"link","label":"Cache","href":"/docs/configuration/cache","docId":"configuration/cache"},{"type":"link","label":"Logging","href":"/docs/configuration/logging","docId":"configuration/logging"},{"type":"link","label":"Laravel","href":"/docs/configuration/laravel","docId":"configuration/laravel"},{"type":"link","label":"Symfony","href":"/docs/configuration/symfony","docId":"configuration/symfony"}],"collapsible":true,"href":"/docs/category/-getting-started"},{"type":"category","label":"\u270d Usage","collapsed":false,"items":[{"type":"link","label":"Getting Updates","href":"/docs/usage/getting_updates","docId":"usage/getting_updates"},{"type":"link","label":"Sending Requests","href":"/docs/usage/sending_requests","docId":"usage/sending_requests"},{"type":"link","label":"Handlers","href":"/docs/usage/handlers","docId":"usage/handlers"},{"type":"link","label":"Middleware","href":"/docs/usage/middleware","docId":"usage/middleware"},{"type":"link","label":"Keyboards","href":"/docs/usage/keyboards","docId":"usage/keyboards"},{"type":"link","label":"Conversations","href":"/docs/usage/conversations","docId":"usage/conversations"},{"type":"link","label":"Inline Menu","href":"/docs/usage/inline_menu","docId":"usage/inline_menu"},{"type":"link","label":"Extend","href":"/docs/usage/extend","docId":"usage/extend"},{"type":"link","label":"Bulk Messenger","href":"/docs/usage/bulk_messenger","docId":"usage/bulk_messenger"},{"type":"link","label":"Web Validation","href":"/docs/usage/web_validation","docId":"usage/web_validation"}],"collapsible":true,"href":"/docs/category/-usage"},{"type":"category","label":"\u2697\ufe0f Testing","collapsed":false,"items":[{"type":"link","label":"Introduction","href":"/docs/testing/introduction","docId":"testing/introduction"},{"type":"link","label":"Hearing updates","href":"/docs/testing/hearing","docId":"testing/hearing"},{"type":"link","label":"Mock incoming responses","href":"/docs/testing/mocking","docId":"testing/mocking"},{"type":"link","label":"Available Assertions","href":"/docs/testing/asserting","docId":"testing/asserting"}],"collapsible":true,"href":"/docs/category/\ufe0f-testing"},{"type":"category","label":"\u23eb Upgrading","collapsed":false,"items":[{"type":"link","label":"From 3.x to 4.x","href":"/docs/upgrading/from-3.x-to-4.x","docId":"upgrading/from-3.x-to-4.x"},{"type":"link","label":"From 2.x to 3.x","href":"/docs/upgrading/from-2.x-to-3.x","docId":"upgrading/from-2.x-to-3.x"},{"type":"link","label":"From 1.x to 2.x","href":"/docs/upgrading/from-1.x-to-2.x","docId":"upgrading/from-1.x-to-2.x"}],"collapsible":true,"href":"/docs/category/-upgrading"}]},"docs":{"configuration/cache":{"id":"configuration/cache","title":"Cache","description":"Nutgram accepts as a cache system any adapter that implements the PSR-16 CacheInterface interface.","sidebar":"docs"},"configuration/installation":{"id":"configuration/installation","title":"Installation","description":"Composer","sidebar":"docs"},"configuration/laravel":{"id":"configuration/laravel","title":"Laravel","description":"Instead of installing the base nutgram/nutgram base package, you have to install the package version:","sidebar":"docs"},"configuration/logging":{"id":"configuration/logging","title":"Logging","description":"Nutgram accepts as a logger system any adapter that implements the PSR-3 LoggerInterface interface.","sidebar":"docs"},"configuration/symfony":{"id":"configuration/symfony","title":"Symfony","description":"Instead of installing the base nutgram/nutgram base package, you have to install the bundle version:","sidebar":"docs"},"introduction":{"id":"introduction","title":"","description":"Latest Version on Packagist","sidebar":"docs"},"testing/asserting":{"id":"testing/asserting","title":"Available Assertions","description":"Overview","sidebar":"docs"},"testing/hearing":{"id":"testing/hearing","title":"Hearing updates","description":"Overview","sidebar":"docs"},"testing/introduction":{"id":"testing/introduction","title":"Introduction","description":"The framework supports some automatic mocking features that allows you to easily create unit tests for your application.","sidebar":"docs"},"testing/mocking":{"id":"testing/mocking","title":"Mock incoming responses","description":"Overview","sidebar":"docs"},"upgrading/from-1.x-to-2.x":{"id":"upgrading/from-1.x-to-2.x","title":"From 1.x to 2.x","description":"The update to the version 2.x contains only one breaking change.","sidebar":"docs"},"upgrading/from-2.x-to-3.x":{"id":"upgrading/from-2.x-to-3.x","title":"From 2.x to 3.x","description":"The breaking changes contained in the 3.x version are all following the release 6.0 of the Telegram bot API.","sidebar":"docs"},"upgrading/from-3.x-to-4.x":{"id":"upgrading/from-3.x-to-4.x","title":"From 3.x to 4.x","description":"Estimated Upgrade Time: 1.5 Hours","sidebar":"docs"},"usage/bulk_messenger":{"id":"usage/bulk_messenger","title":"Bulk Messenger","description":"This feature is experimental and it may change in the future.","sidebar":"docs"},"usage/conversations":{"id":"usage/conversations","title":"Conversations","description":"If you are using the Webhook update mode, you need a persistent cache adapter to use this feature!","sidebar":"docs"},"usage/extend":{"id":"usage/extend","title":"Extend","description":"The framework provides multiple ways to extends its functionalities.","sidebar":"docs"},"usage/getting_updates":{"id":"usage/getting_updates","title":"Getting Updates","description":"Currently, the framework mainly supports two different methods to process updates: Polling and Webhook mode.","sidebar":"docs"},"usage/handlers":{"id":"usage/handlers","title":"Handlers","description":"Concept","sidebar":"docs"},"usage/inline_menu":{"id":"usage/inline_menu","title":"Inline Menu","description":"The InlineMenu class extends Conversation and help you to provide an easy interface to","sidebar":"docs"},"usage/keyboards":{"id":"usage/keyboards","title":"Keyboards","description":"Nutgram provides a better way to create keyboards.","sidebar":"docs"},"usage/middleware":{"id":"usage/middleware","title":"Middleware","description":"In the framework context, any handler is like a link of chain, so you can easily link together multiple handlers (","sidebar":"docs"},"usage/sending_requests":{"id":"usage/sending_requests","title":"Sending Requests","description":"The framework creates a 1:1 mapping of the methods Telegram provides that are directly accessible from the main","sidebar":"docs"},"usage/web_validation":{"id":"usage/web_validation","title":"Web Validation","description":"Nutgram provides a simple way to validate the data received from a Login Widget or a Mini App.","sidebar":"docs"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunknutgram_docs=self.webpackChunknutgram_docs||[]).push([[53],{1109:function(e){e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"4.x","banner":null,"badge":true,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"\ud83d\udcdc Introduction","href":"/docs/introduction","docId":"introduction"},{"type":"category","label":"\ud83c\udfc1 Getting Started","collapsed":false,"items":[{"type":"link","label":"Installation","href":"/docs/configuration/installation","docId":"configuration/installation"},{"type":"link","label":"Cache","href":"/docs/configuration/cache","docId":"configuration/cache"},{"type":"link","label":"Logging","href":"/docs/configuration/logging","docId":"configuration/logging"},{"type":"link","label":"Laravel","href":"/docs/configuration/laravel","docId":"configuration/laravel"},{"type":"link","label":"Symfony","href":"/docs/configuration/symfony","docId":"configuration/symfony"}],"collapsible":true,"href":"/docs/category/-getting-started"},{"type":"category","label":"\u270d Usage","collapsed":false,"items":[{"type":"link","label":"Getting Updates","href":"/docs/usage/getting_updates","docId":"usage/getting_updates"},{"type":"link","label":"Sending Requests","href":"/docs/usage/sending_requests","docId":"usage/sending_requests"},{"type":"link","label":"Handlers","href":"/docs/usage/handlers","docId":"usage/handlers"},{"type":"link","label":"Middleware","href":"/docs/usage/middleware","docId":"usage/middleware"},{"type":"link","label":"Keyboards","href":"/docs/usage/keyboards","docId":"usage/keyboards"},{"type":"link","label":"Conversations","href":"/docs/usage/conversations","docId":"usage/conversations"},{"type":"link","label":"Inline Menu","href":"/docs/usage/inline_menu","docId":"usage/inline_menu"},{"type":"link","label":"Extend","href":"/docs/usage/extend","docId":"usage/extend"},{"type":"link","label":"Bulk Messenger","href":"/docs/usage/bulk_messenger","docId":"usage/bulk_messenger"},{"type":"link","label":"Web Validation","href":"/docs/usage/web_validation","docId":"usage/web_validation"}],"collapsible":true,"href":"/docs/category/-usage"},{"type":"category","label":"\u2697\ufe0f Testing","collapsed":false,"items":[{"type":"link","label":"Introduction","href":"/docs/testing/introduction","docId":"testing/introduction"},{"type":"link","label":"Hearing updates","href":"/docs/testing/hearing","docId":"testing/hearing"},{"type":"link","label":"Mock incoming responses","href":"/docs/testing/mocking","docId":"testing/mocking"},{"type":"link","label":"Available Assertions","href":"/docs/testing/asserting","docId":"testing/asserting"}],"collapsible":true,"href":"/docs/category/\ufe0f-testing"},{"type":"category","label":"\u23eb Upgrading","collapsed":false,"items":[{"type":"link","label":"From 3.x to 4.x","href":"/docs/upgrading/from-3.x-to-4.x","docId":"upgrading/from-3.x-to-4.x"},{"type":"link","label":"From 2.x to 3.x","href":"/docs/upgrading/from-2.x-to-3.x","docId":"upgrading/from-2.x-to-3.x"},{"type":"link","label":"From 1.x to 2.x","href":"/docs/upgrading/from-1.x-to-2.x","docId":"upgrading/from-1.x-to-2.x"}],"collapsible":true,"href":"/docs/category/-upgrading"}]},"docs":{"configuration/cache":{"id":"configuration/cache","title":"Cache","description":"Nutgram accepts as a cache system any adapter that implements the PSR-16 CacheInterface interface.","sidebar":"docs"},"configuration/installation":{"id":"configuration/installation","title":"Installation","description":"Composer","sidebar":"docs"},"configuration/laravel":{"id":"configuration/laravel","title":"Laravel","description":"Instead of installing the base nutgram/nutgram package, you have to install a specific version of the package:","sidebar":"docs"},"configuration/logging":{"id":"configuration/logging","title":"Logging","description":"Nutgram accepts as a logger system any adapter that implements the PSR-3 LoggerInterface interface.","sidebar":"docs"},"configuration/symfony":{"id":"configuration/symfony","title":"Symfony","description":"Instead of installing the base nutgram/nutgram base package, you have to install the bundle version:","sidebar":"docs"},"introduction":{"id":"introduction","title":"","description":"Latest Version on Packagist","sidebar":"docs"},"testing/asserting":{"id":"testing/asserting","title":"Available Assertions","description":"Overview","sidebar":"docs"},"testing/hearing":{"id":"testing/hearing","title":"Hearing updates","description":"Overview","sidebar":"docs"},"testing/introduction":{"id":"testing/introduction","title":"Introduction","description":"The framework supports some automatic mocking features that allows you to easily create unit tests for your application.","sidebar":"docs"},"testing/mocking":{"id":"testing/mocking","title":"Mock incoming responses","description":"Overview","sidebar":"docs"},"upgrading/from-1.x-to-2.x":{"id":"upgrading/from-1.x-to-2.x","title":"From 1.x to 2.x","description":"The update to the version 2.x contains only one breaking change.","sidebar":"docs"},"upgrading/from-2.x-to-3.x":{"id":"upgrading/from-2.x-to-3.x","title":"From 2.x to 3.x","description":"The breaking changes contained in the 3.x version are all following the release 6.0 of the Telegram bot API.","sidebar":"docs"},"upgrading/from-3.x-to-4.x":{"id":"upgrading/from-3.x-to-4.x","title":"From 3.x to 4.x","description":"Estimated Upgrade Time: 1.5 Hours","sidebar":"docs"},"usage/bulk_messenger":{"id":"usage/bulk_messenger","title":"Bulk Messenger","description":"This feature is experimental and it may change in the future.","sidebar":"docs"},"usage/conversations":{"id":"usage/conversations","title":"Conversations","description":"If you are using the Webhook update mode, you need a persistent cache adapter to use this feature!","sidebar":"docs"},"usage/extend":{"id":"usage/extend","title":"Extend","description":"The framework provides multiple ways to extends its functionalities.","sidebar":"docs"},"usage/getting_updates":{"id":"usage/getting_updates","title":"Getting Updates","description":"Currently, the framework mainly supports two different methods to process updates: Polling and Webhook mode.","sidebar":"docs"},"usage/handlers":{"id":"usage/handlers","title":"Handlers","description":"Concept","sidebar":"docs"},"usage/inline_menu":{"id":"usage/inline_menu","title":"Inline Menu","description":"The InlineMenu class extends Conversation and help you to provide an easy interface to","sidebar":"docs"},"usage/keyboards":{"id":"usage/keyboards","title":"Keyboards","description":"Nutgram provides a better way to create keyboards.","sidebar":"docs"},"usage/middleware":{"id":"usage/middleware","title":"Middleware","description":"In the framework context, any handler is like a link of chain, so you can easily link together multiple handlers (","sidebar":"docs"},"usage/sending_requests":{"id":"usage/sending_requests","title":"Sending Requests","description":"The framework creates a 1:1 mapping of the methods Telegram provides that are directly accessible from the main","sidebar":"docs"},"usage/web_validation":{"id":"usage/web_validation","title":"Web Validation","description":"Nutgram provides a simple way to validate the data received from a Login Widget or a Mini App.","sidebar":"docs"}}}')}}]); \ No newline at end of file diff --git a/assets/js/main.01145d67.js b/assets/js/main.e168a830.js similarity index 99% rename from assets/js/main.01145d67.js rename to assets/js/main.e168a830.js index 31267ee2..154e7220 100644 --- a/assets/js/main.01145d67.js +++ b/assets/js/main.e168a830.js @@ -1,2 +1,2 @@ -/*! For license information please see main.01145d67.js.LICENSE.txt */ -(self.webpackChunknutgram_docs=self.webpackChunknutgram_docs||[]).push([[179],{723:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(67294),a=n(83117),o=n(68356),i=n.n(o),s=n(16887),l={"0062f057":[()=>Promise.all([n.e(8592),n.e(9895)]).then(n.bind(n,58934)),"@site/versioned_docs/version-3.x/usage/inline_menu.md",58934],"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,91223)),"@theme/BlogTagsListPage",91223],"02715c9e":[()=>n.e(7535).then(n.t.bind(n,71290,19)),"~docs/default/version-1-x-metadata-prop-27c.json",71290],"04cd9c66":[()=>Promise.all([n.e(8592),n.e(2799)]).then(n.bind(n,43563)),"@site/versioned_docs/version-3.x/usage/bulk_messenger.md",43563],"0e1f8ec8":[()=>Promise.all([n.e(8592),n.e(4483)]).then(n.bind(n,97005)),"@site/versioned_docs/version-3.x/testing/introduction.md",97005],"1212a0ce":[()=>Promise.all([n.e(8592),n.e(1078)]).then(n.bind(n,40393)),"@site/docs/usage/getting_updates.md",40393],"128ce69f":[()=>Promise.all([n.e(8592),n.e(4547)]).then(n.bind(n,17352)),"@site/docs/usage/middleware.md",17352],"12b8e610":[()=>Promise.all([n.e(8592),n.e(1414)]).then(n.bind(n,83907)),"@site/docs/testing/introduction.md",83907],"14eb3368":[()=>Promise.all([n.e(532),n.e(9817)]).then(n.bind(n,34228)),"@theme/DocCategoryGeneratedIndexPage",34228],17896441:[()=>Promise.all([n.e(532),n.e(8592),n.e(8928),n.e(7918)]).then(n.bind(n,15154)),"@theme/DocItem",15154],"18b46bc4":[()=>Promise.all([n.e(8592),n.e(1308)]).then(n.bind(n,97884)),"@site/versioned_docs/version-2.x/usage/getting_updates.md",97884],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,51473)),"@theme/SearchPage",51473],"1a7b9356":[()=>Promise.all([n.e(8592),n.e(1111)]).then(n.bind(n,16278)),"@site/blog/2022-03-06-hello-world.md?truncated=true",16278],"1ad6e708":[()=>Promise.all([n.e(8592),n.e(330)]).then(n.bind(n,34240)),"@site/docs/upgrading/from-2.x-to-3.x.md",34240],"1b1e9a26":[()=>Promise.all([n.e(8592),n.e(6397)]).then(n.bind(n,24482)),"@site/versioned_docs/version-3.x/configuration/symfony.md",24482],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,19963)),"@theme/DocPage",19963],"1c091541":[()=>n.e(8271).then(n.t.bind(n,24469,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",24469],"21c3b8e7":[()=>Promise.all([n.e(8592),n.e(4505)]).then(n.bind(n,42565)),"@site/versioned_docs/version-1.x/usage/getting_updates.md",42565],24598664:[()=>Promise.all([n.e(532),n.e(8592),n.e(27)]).then(n.bind(n,24622)),"@site/versioned_docs/version-2.x/testing/hearing.mdx",24622],"247783bb":[()=>n.e(9334).then(n.t.bind(n,83769,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",83769],"2576c142":[()=>Promise.all([n.e(8592),n.e(6686)]).then(n.bind(n,68485)),"@site/versioned_docs/version-2.x/configuration/installation.md",68485],"26455d6c":[()=>Promise.all([n.e(532),n.e(8592),n.e(5691)]).then(n.bind(n,6063)),"@site/docs/testing/mocking.mdx",6063],"28b1b197":[()=>Promise.all([n.e(8592),n.e(9355)]).then(n.bind(n,79778)),"@site/versioned_docs/version-3.x/usage/sending_requests.md",79778],"2e279ed9":[()=>Promise.all([n.e(8592),n.e(2402)]).then(n.bind(n,88095)),"@site/blog/2023-02-28-symfony-support.md",88095],"3039efd3":[()=>Promise.all([n.e(8592),n.e(2284)]).then(n.bind(n,75432)),"@site/versioned_docs/version-2.x/usage/extend.md",75432],"30a24c52":[()=>n.e(453).then(n.t.bind(n,98605,19)),"~blog/default/blog-tags-hello-039.json",98605],"32ed5934":[()=>Promise.all([n.e(8592),n.e(3530)]).then(n.bind(n,49120)),"@site/docs/configuration/logging.md",49120],"338f2c46":[()=>n.e(4372).then(n.t.bind(n,90849,19)),"~blog/default/blog-tags-nutgram-008.json",90849],"33a8bb19":[()=>Promise.all([n.e(532),n.e(8592),n.e(5130)]).then(n.bind(n,32784)),"@site/versioned_docs/version-3.x/testing/asserting.mdx",32784],"3895cc83":[()=>Promise.all([n.e(8592),n.e(7439)]).then(n.bind(n,76752)),"@site/docs/configuration/cache.md",76752],"3bfa8d8e":[()=>Promise.all([n.e(8592),n.e(7885)]).then(n.bind(n,54376)),"@site/versioned_docs/version-2.x/configuration/cache.md",54376],"3c84ce68":[()=>n.e(6502).then(n.t.bind(n,23642,19)),"~blog/default/blog-tags-nutgram-008-list.json",23642],"4005d5f1":[()=>Promise.all([n.e(8592),n.e(9762)]).then(n.bind(n,14987)),"@site/versioned_docs/version-3.x/usage/keyboards.md",14987],"4129286c":[()=>n.e(5156).then(n.t.bind(n,12776,19)),"/home/runner/work/docs/docs/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json",12776],"42dafbde":[()=>Promise.all([n.e(8592),n.e(7655)]).then(n.bind(n,63590)),"@site/docs/usage/web_validation.md",63590],"42eac323":[()=>n.e(5544).then(n.t.bind(n,21464,19)),"~docs/default/category-docs-docs-category-upgrading-7ec.json",21464],"440e2346":[()=>Promise.all([n.e(8592),n.e(6015)]).then(n.bind(n,59245)),"@site/docs/usage/bulk_messenger.md",59245],"45aab7e5":[()=>n.e(4499).then(n.t.bind(n,4962,19)),"~docs/default/version-2-x-metadata-prop-4fa.json",4962],"47cca8d4":[()=>n.e(2646).then(n.t.bind(n,60313,19)),"~docs/default/category-docs-2-x-docs-category-testing-0ca.json",60313],"4f01dd6c":[()=>Promise.all([n.e(8592),n.e(5587)]).then(n.bind(n,9740)),"@site/blog/2023-02-28-symfony-support.md?truncated=true",9740],"4fdb24b0":[()=>n.e(9718).then(n.t.bind(n,80631,19)),"~blog/default/blog-tags-world-d58.json",80631],"5a3e22d7":[()=>Promise.all([n.e(8592),n.e(4710)]).then(n.bind(n,35059)),"@site/versioned_docs/version-2.x/usage/inline_menu.md",35059],"5dde19ad":[()=>n.e(434).then(n.t.bind(n,492,19)),"~docs/default/version-3-x-metadata-prop-df2.json",492],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,36809)),"@generated/docusaurus.config",36809],"62a40294":[()=>n.e(6944).then(n.t.bind(n,86309,19)),"~docs/default/category-docs-2-x-docs-category-getting-started-baa.json",86309],66406991:[()=>n.e(110).then(n.t.bind(n,70711,19)),"~blog/default/blog-tags-hello-039-list.json",70711],"6768b4ae":[()=>n.e(6654).then(n.t.bind(n,33718,19)),"~docs/default/category-docs-1-x-docs-category-usage-e62.json",33718],"67dce48a":[()=>Promise.all([n.e(8592),n.e(9132)]).then(n.bind(n,84086)),"@site/versioned_docs/version-3.x/usage/getting_updates.md",84086],"68493e61":[()=>n.e(3201).then(n.t.bind(n,99199,19)),"~docs/default/category-docs-3-x-docs-category-usage-ef7.json",99199],"6875c492":[()=>Promise.all([n.e(532),n.e(8592),n.e(8928),n.e(6048),n.e(8610)]).then(n.bind(n,41714)),"@theme/BlogTagsPostsPage",41714],"6b2a30ea":[()=>Promise.all([n.e(8592),n.e(8421)]).then(n.bind(n,11419)),"@site/versioned_docs/version-1.x/usage/conversations.md",11419],"6daab97a":[()=>n.e(4190).then(n.t.bind(n,90675,19)),"~docs/default/category-docs-3-x-docs-category-testing-18f.json",90675],"6f052dce":[()=>Promise.all([n.e(532),n.e(8592),n.e(7549)]).then(n.bind(n,21924)),"@site/versioned_docs/version-2.x/testing/mocking.mdx",21924],"717fb006":[()=>n.e(4920).then(n.t.bind(n,59144,19)),"~blog/default/blog-tags-symfony-0f6.json",59144],"743ca987":[()=>n.e(2013).then(n.t.bind(n,31253,19)),"~docs/default/category-docs-2-x-docs-category-upgrading-54c.json",31253],"779c6e50":[()=>Promise.all([n.e(8592),n.e(6355)]).then(n.bind(n,3627)),"@site/docs/usage/extend.md",3627],"77a826f1":[()=>Promise.all([n.e(8592),n.e(2120)]).then(n.bind(n,82173)),"@site/docs/configuration/laravel.md",82173],"780a8631":[()=>Promise.all([n.e(8592),n.e(8339)]).then(n.bind(n,52426)),"@site/versioned_docs/version-2.x/introduction.md",52426],"78e307d5":[()=>Promise.all([n.e(8592),n.e(2596)]).then(n.bind(n,74727)),"@site/versioned_docs/version-3.x/configuration/cache.md",74727],79912061:[()=>Promise.all([n.e(8592),n.e(655)]).then(n.bind(n,77518)),"@site/blog/2023-05-23-nutgram-4.md",77518],"7ab4bce7":[()=>Promise.all([n.e(8592),n.e(1810)]).then(n.bind(n,23668)),"@site/docs/upgrading/from-3.x-to-4.x.md",23668],"812f7990":[()=>Promise.all([n.e(532),n.e(8592),n.e(1721)]).then(n.bind(n,34199)),"@site/versioned_docs/version-3.x/testing/mocking.mdx",34199],"814f3328":[()=>n.e(2535).then(n.t.bind(n,45641,19)),"~blog/default/blog-post-list-prop-default.json",45641],"83d480e9":[()=>n.e(205).then(n.t.bind(n,43672,19)),"~blog/default/blog-tags-release-b5c.json",43672],"8407007e":[()=>Promise.all([n.e(8592),n.e(4194)]).then(n.bind(n,22224)),"@site/versioned_docs/version-1.x/usage/handlers.md",22224],"848ebe28":[()=>Promise.all([n.e(8592),n.e(2563)]).then(n.bind(n,3033)),"@site/versioned_docs/version-3.x/configuration/logging.md",3033],"8637071d":[()=>Promise.all([n.e(8592),n.e(394)]).then(n.bind(n,52190)),"@site/docs/upgrading/from-1.x-to-2.x.md",52190],"89552fe3":[()=>Promise.all([n.e(8592),n.e(4354)]).then(n.bind(n,86116)),"@site/docs/configuration/installation.md",86116],"8b920495":[()=>Promise.all([n.e(8592),n.e(8674)]).then(n.bind(n,56002)),"@site/versioned_docs/version-3.x/configuration/laravel.md",56002],"8d29a77c":[()=>Promise.all([n.e(532),n.e(8592),n.e(6964)]).then(n.bind(n,22169)),"@site/docs/testing/hearing.mdx",22169],"8e65d890":[()=>Promise.all([n.e(8592),n.e(3398)]).then(n.bind(n,20392)),"@site/blog/2022-03-06-hello-world.md",20392],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"93765f2b":[()=>Promise.all([n.e(8592),n.e(3307)]).then(n.bind(n,85533)),"@site/versioned_docs/version-2.x/configuration/laravel.md",85533],"94bc9990":[()=>Promise.all([n.e(8592),n.e(4620)]).then(n.bind(n,31094)),"@site/versioned_docs/version-3.x/introduction.md",31094],"979971b3":[()=>Promise.all([n.e(8592),n.e(1710)]).then(n.bind(n,57400)),"@site/versioned_docs/version-1.x/usage/inline_menu.md",57400],"9857927d":[()=>Promise.all([n.e(8592),n.e(1778)]).then(n.bind(n,60096)),"@site/docs/usage/sending_requests.md",60096],"9b8bb815":[()=>Promise.all([n.e(8592),n.e(1168)]).then(n.bind(n,13843)),"@site/versioned_docs/version-1.x/configuration/laravel.md",13843],"9c021584":[()=>n.e(7438).then(n.t.bind(n,98055,19)),"~blog/default/blog-tags-release-b5c-list.json",98055],"9ca8595e":[()=>n.e(7434).then(n.t.bind(n,52183,19)),"~docs/default/category-docs-3-x-docs-category-getting-started-c46.json",52183],"9de10ee0":[()=>n.e(5540).then(n.t.bind(n,99232,19)),"~docs/default/category-docs-2-x-docs-category-usage-1cd.json",99232],"9e4087bc":[()=>n.e(3608).then(n.bind(n,63169)),"@theme/BlogArchivePage",63169],a09c2993:[()=>Promise.all([n.e(8592),n.e(4128)]).then(n.bind(n,88495)),"@site/docs/introduction.md",88495],a38223c8:[()=>n.e(9640).then(n.t.bind(n,16719,19)),"~docs/default/category-docs-docs-category-getting-started-f8a.json",16719],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(8592),n.e(8928),n.e(6048),n.e(3089)]).then(n.bind(n,80046)),"@theme/BlogListPage",80046],a7023ddc:[()=>n.e(1713).then(n.t.bind(n,53457,19)),"~blog/default/blog-tags-tags-4c2.json",53457],a7434565:[()=>n.e(7645).then(n.t.bind(n,15745,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",15745],ac74b412:[()=>Promise.all([n.e(8592),n.e(5016)]).then(n.bind(n,900)),"@site/versioned_docs/version-2.x/usage/handlers.md",900],afa7d844:[()=>Promise.all([n.e(8592),n.e(2145)]).then(n.bind(n,8413)),"@site/versioned_docs/version-2.x/usage/sending_requests.md",8413],b1550b9c:[()=>Promise.all([n.e(532),n.e(8592),n.e(8847)]).then(n.bind(n,75194)),"@site/versioned_docs/version-3.x/usage/handlers.mdx",75194],b2b675dd:[()=>n.e(533).then(n.t.bind(n,28017,19)),"~blog/default/blog-c06.json",28017],b2f554cd:[()=>n.e(1477).then(n.t.bind(n,30010,19)),"~blog/default/blog-archive-80c.json",30010],b3c2f56f:[()=>n.e(4468).then(n.t.bind(n,38142,19)),"~blog/default/blog-tags-world-d58-list.json",38142],b4ca8599:[()=>Promise.all([n.e(532),n.e(8592),n.e(7831)]).then(n.bind(n,41104)),"@site/versioned_docs/version-2.x/testing/asserting.mdx",41104],b711d7ea:[()=>n.e(6466).then(n.t.bind(n,17320,19)),"~docs/default/category-docs-3-x-docs-category-upgrading-f45.json",17320],bd3f1ff0:[()=>Promise.all([n.e(8592),n.e(2537)]).then(n.bind(n,2318)),"@site/versioned_docs/version-1.x/configuration/installation.md",2318],c306a2d8:[()=>n.e(5773).then(n.t.bind(n,83752,19)),"~blog/default/blog-tags-symfony-0f6-list.json",83752],c4f5d8e4:[()=>Promise.all([n.e(532),n.e(4195)]).then(n.bind(n,53261)),"@site/src/pages/index.js",53261],ccc49370:[()=>Promise.all([n.e(532),n.e(8592),n.e(8928),n.e(6048),n.e(6103)]).then(n.bind(n,65203)),"@theme/BlogPostPage",65203],cdc7a37f:[()=>Promise.all([n.e(532),n.e(8592),n.e(8730)]).then(n.bind(n,20293)),"@site/docs/testing/asserting.mdx",20293],cf0dc036:[()=>Promise.all([n.e(8592),n.e(8742)]).then(n.bind(n,83943)),"@site/versioned_docs/version-3.x/usage/extend.md",83943],d1639bf9:[()=>Promise.all([n.e(8592),n.e(9204)]).then(n.bind(n,3352)),"@site/versioned_docs/version-1.x/usage/middleware.md",3352],d20ffcc3:[()=>Promise.all([n.e(8592),n.e(7532)]).then(n.bind(n,28394)),"@site/docs/usage/keyboards.md",28394],d24e8a92:[()=>Promise.all([n.e(8592),n.e(5462)]).then(n.bind(n,48817)),"@site/versioned_docs/version-3.x/usage/middleware.md",48817],d56deac3:[()=>Promise.all([n.e(8592),n.e(4447)]).then(n.bind(n,65341)),"@site/versioned_docs/version-3.x/upgrading/from-1.x-to-2.x.md",65341],d66e248d:[()=>Promise.all([n.e(532),n.e(8592),n.e(8360)]).then(n.bind(n,52803)),"@site/versioned_docs/version-3.x/testing/hearing.mdx",52803],d6a85c0d:[()=>Promise.all([n.e(8592),n.e(3425)]).then(n.bind(n,22127)),"@site/versioned_docs/version-1.x/usage/sending_requests.md",22127],d6ad8a0f:[()=>Promise.all([n.e(8592),n.e(1336)]).then(n.bind(n,71493)),"@site/versioned_docs/version-3.x/upgrading/from-2.x-to-3.x.md",71493],d815b6a2:[()=>Promise.all([n.e(8592),n.e(5494)]).then(n.bind(n,29951)),"@site/docs/configuration/symfony.md",29951],dae9f878:[()=>Promise.all([n.e(8592),n.e(7007)]).then(n.bind(n,60571)),"@site/versioned_docs/version-3.x/usage/conversations.md",60571],db271931:[()=>n.e(4120).then(n.t.bind(n,5905,19)),"~docs/default/category-docs-docs-category-usage-24f.json",5905],db30098e:[()=>Promise.all([n.e(8592),n.e(1453)]).then(n.bind(n,30908)),"@site/versioned_docs/version-2.x/usage/conversations.md",30908],df6ff849:[()=>n.e(7855).then(n.t.bind(n,349,19)),"~blog/default/blog-tags-major-b9f-list.json",349],df855cfd:[()=>Promise.all([n.e(8592),n.e(9106)]).then(n.bind(n,23575)),"@site/versioned_docs/version-2.x/testing/introduction.md",23575],e0c4736d:[()=>n.e(7781).then(n.t.bind(n,70513,19)),"~docs/default/category-docs-docs-category-\ufe0f-testing-e93.json",70513],e7d51b17:[()=>Promise.all([n.e(8592),n.e(528)]).then(n.bind(n,64116)),"@site/versioned_docs/version-1.x/configuration/cache.md",64116],e84da0db:[()=>Promise.all([n.e(8592),n.e(4941)]).then(n.bind(n,66787)),"@site/blog/2023-05-23-nutgram-4.md?truncated=true",66787],e98c0cb5:[()=>n.e(3044).then(n.t.bind(n,12691,19)),"~blog/default/blog-tags-major-b9f.json",12691],f0964caf:[()=>Promise.all([n.e(8592),n.e(2422)]).then(n.bind(n,92733)),"@site/docs/usage/inline_menu.md",92733],f3243263:[()=>Promise.all([n.e(8592),n.e(3513)]).then(n.bind(n,95340)),"@site/versioned_docs/version-2.x/upgrading/from-1.x-to-2.x.md",95340],f3322b5d:[()=>n.e(6766).then(n.t.bind(n,40543,19)),"~docs/default/category-docs-1-x-docs-category-getting-started-a0d.json",40543],f5406987:[()=>Promise.all([n.e(8592),n.e(2003)]).then(n.bind(n,67755)),"@site/versioned_docs/version-3.x/configuration/installation.md",67755],f6d1dca1:[()=>Promise.all([n.e(8592),n.e(2763)]).then(n.bind(n,89713)),"@site/versioned_docs/version-2.x/usage/middleware.md",89713],f7839e22:[()=>Promise.all([n.e(532),n.e(8592),n.e(8451)]).then(n.bind(n,25301)),"@site/docs/usage/handlers.mdx",25301],f9bb0245:[()=>Promise.all([n.e(8592),n.e(8410)]).then(n.bind(n,2642)),"@site/versioned_docs/version-1.x/introduction.md",2642],fa81fda1:[()=>Promise.all([n.e(8592),n.e(6423)]).then(n.bind(n,45671)),"@site/docs/usage/conversations.md",45671]};function c(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var u=n(99670),d=n(30226);function f(e,t){if("*"===e)return i()({loading:c,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=[],g=[],m=(0,u.Z)(o);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=l[n];r&&(f[t]=r[0],p.push(r[1]),g.push(r[2]))})),i().Map({loading:c,loader:f,modules:p,webpack:()=>g,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)))}})}var p=[{path:"/blog",component:f("/blog","dd8"),exact:!0},{path:"/blog/archive",component:f("/blog/archive","d5c"),exact:!0},{path:"/blog/hello-world",component:f("/blog/hello-world","925"),exact:!0},{path:"/blog/nutgram-4",component:f("/blog/nutgram-4","133"),exact:!0},{path:"/blog/symfony-support",component:f("/blog/symfony-support","8ed"),exact:!0},{path:"/blog/tags",component:f("/blog/tags","e00"),exact:!0},{path:"/blog/tags/hello",component:f("/blog/tags/hello","680"),exact:!0},{path:"/blog/tags/major",component:f("/blog/tags/major","a40"),exact:!0},{path:"/blog/tags/nutgram",component:f("/blog/tags/nutgram","1ee"),exact:!0},{path:"/blog/tags/release",component:f("/blog/tags/release","66b"),exact:!0},{path:"/blog/tags/symfony",component:f("/blog/tags/symfony","bac"),exact:!0},{path:"/blog/tags/world",component:f("/blog/tags/world","d85"),exact:!0},{path:"/search",component:f("/search","ae7"),exact:!0},{path:"/docs/1.x",component:f("/docs/1.x","349"),routes:[{path:"/docs/1.x/category/getting-started",component:f("/docs/1.x/category/getting-started","b1b"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/category/usage",component:f("/docs/1.x/category/usage","214"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/configuration/cache",component:f("/docs/1.x/configuration/cache","6f6"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/configuration/installation",component:f("/docs/1.x/configuration/installation","280"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/configuration/laravel",component:f("/docs/1.x/configuration/laravel","e89"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/introduction",component:f("/docs/1.x/introduction","676"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/usage/conversations",component:f("/docs/1.x/usage/conversations","448"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/usage/getting_updates",component:f("/docs/1.x/usage/getting_updates","0ff"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/usage/handlers",component:f("/docs/1.x/usage/handlers","eff"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/usage/inline_menu",component:f("/docs/1.x/usage/inline_menu","955"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/usage/middleware",component:f("/docs/1.x/usage/middleware","d3b"),exact:!0,sidebar:"docs"},{path:"/docs/1.x/usage/sending_requests",component:f("/docs/1.x/usage/sending_requests","d1c"),exact:!0,sidebar:"docs"}]},{path:"/docs/2.x",component:f("/docs/2.x","2dd"),routes:[{path:"/docs/2.x/category/getting-started",component:f("/docs/2.x/category/getting-started","2a5"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/category/testing",component:f("/docs/2.x/category/testing","869"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/category/upgrading",component:f("/docs/2.x/category/upgrading","369"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/category/usage",component:f("/docs/2.x/category/usage","90f"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/configuration/cache",component:f("/docs/2.x/configuration/cache","a5f"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/configuration/installation",component:f("/docs/2.x/configuration/installation","4f3"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/configuration/laravel",component:f("/docs/2.x/configuration/laravel","f3e"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/introduction",component:f("/docs/2.x/introduction","a7b"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/testing/asserting",component:f("/docs/2.x/testing/asserting","013"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/testing/hearing",component:f("/docs/2.x/testing/hearing","19d"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/testing/introduction",component:f("/docs/2.x/testing/introduction","203"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/testing/mocking",component:f("/docs/2.x/testing/mocking","302"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/upgrading/from-1.x-to-2.x",component:f("/docs/2.x/upgrading/from-1.x-to-2.x","0f5"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/usage/conversations",component:f("/docs/2.x/usage/conversations","bb4"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/usage/extend",component:f("/docs/2.x/usage/extend","e62"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/usage/getting_updates",component:f("/docs/2.x/usage/getting_updates","740"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/usage/handlers",component:f("/docs/2.x/usage/handlers","f26"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/usage/inline_menu",component:f("/docs/2.x/usage/inline_menu","c6f"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/usage/middleware",component:f("/docs/2.x/usage/middleware","053"),exact:!0,sidebar:"docs"},{path:"/docs/2.x/usage/sending_requests",component:f("/docs/2.x/usage/sending_requests","7f9"),exact:!0,sidebar:"docs"}]},{path:"/docs/3.x",component:f("/docs/3.x","ced"),routes:[{path:"/docs/3.x/category/getting-started",component:f("/docs/3.x/category/getting-started","c7e"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/category/testing",component:f("/docs/3.x/category/testing","4e8"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/category/upgrading",component:f("/docs/3.x/category/upgrading","599"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/category/usage",component:f("/docs/3.x/category/usage","c8e"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/configuration/cache",component:f("/docs/3.x/configuration/cache","5e8"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/configuration/installation",component:f("/docs/3.x/configuration/installation","399"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/configuration/laravel",component:f("/docs/3.x/configuration/laravel","71b"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/configuration/logging",component:f("/docs/3.x/configuration/logging","a86"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/configuration/symfony",component:f("/docs/3.x/configuration/symfony","811"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/introduction",component:f("/docs/3.x/introduction","ef7"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/testing/asserting",component:f("/docs/3.x/testing/asserting","60f"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/testing/hearing",component:f("/docs/3.x/testing/hearing","f7f"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/testing/introduction",component:f("/docs/3.x/testing/introduction","8bf"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/testing/mocking",component:f("/docs/3.x/testing/mocking","dcf"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/upgrading/from-1.x-to-2.x",component:f("/docs/3.x/upgrading/from-1.x-to-2.x","d93"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/upgrading/from-2.x-to-3.x",component:f("/docs/3.x/upgrading/from-2.x-to-3.x","d3e"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/usage/bulk_messenger",component:f("/docs/3.x/usage/bulk_messenger","499"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/usage/conversations",component:f("/docs/3.x/usage/conversations","d49"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/usage/extend",component:f("/docs/3.x/usage/extend","5fe"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/usage/getting_updates",component:f("/docs/3.x/usage/getting_updates","eb1"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/usage/handlers",component:f("/docs/3.x/usage/handlers","6b0"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/usage/inline_menu",component:f("/docs/3.x/usage/inline_menu","845"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/usage/keyboards",component:f("/docs/3.x/usage/keyboards","5c3"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/usage/middleware",component:f("/docs/3.x/usage/middleware","0f3"),exact:!0,sidebar:"docs"},{path:"/docs/3.x/usage/sending_requests",component:f("/docs/3.x/usage/sending_requests","ea0"),exact:!0,sidebar:"docs"}]},{path:"/docs",component:f("/docs","5e9"),routes:[{path:"/docs/category/-getting-started",component:f("/docs/category/-getting-started","7a4"),exact:!0,sidebar:"docs"},{path:"/docs/category/\ufe0f-testing",component:f("/docs/category/\ufe0f-testing","781"),exact:!0,sidebar:"docs"},{path:"/docs/category/-upgrading",component:f("/docs/category/-upgrading","b34"),exact:!0,sidebar:"docs"},{path:"/docs/category/-usage",component:f("/docs/category/-usage","369"),exact:!0,sidebar:"docs"},{path:"/docs/configuration/cache",component:f("/docs/configuration/cache","f37"),exact:!0,sidebar:"docs"},{path:"/docs/configuration/installation",component:f("/docs/configuration/installation","808"),exact:!0,sidebar:"docs"},{path:"/docs/configuration/laravel",component:f("/docs/configuration/laravel","edc"),exact:!0,sidebar:"docs"},{path:"/docs/configuration/logging",component:f("/docs/configuration/logging","860"),exact:!0,sidebar:"docs"},{path:"/docs/configuration/symfony",component:f("/docs/configuration/symfony","008"),exact:!0,sidebar:"docs"},{path:"/docs/introduction",component:f("/docs/introduction","00f"),exact:!0,sidebar:"docs"},{path:"/docs/testing/asserting",component:f("/docs/testing/asserting","302"),exact:!0,sidebar:"docs"},{path:"/docs/testing/hearing",component:f("/docs/testing/hearing","783"),exact:!0,sidebar:"docs"},{path:"/docs/testing/introduction",component:f("/docs/testing/introduction","af2"),exact:!0,sidebar:"docs"},{path:"/docs/testing/mocking",component:f("/docs/testing/mocking","f8e"),exact:!0,sidebar:"docs"},{path:"/docs/upgrading/from-1.x-to-2.x",component:f("/docs/upgrading/from-1.x-to-2.x","56a"),exact:!0,sidebar:"docs"},{path:"/docs/upgrading/from-2.x-to-3.x",component:f("/docs/upgrading/from-2.x-to-3.x","284"),exact:!0,sidebar:"docs"},{path:"/docs/upgrading/from-3.x-to-4.x",component:f("/docs/upgrading/from-3.x-to-4.x","253"),exact:!0,sidebar:"docs"},{path:"/docs/usage/bulk_messenger",component:f("/docs/usage/bulk_messenger","d2b"),exact:!0,sidebar:"docs"},{path:"/docs/usage/conversations",component:f("/docs/usage/conversations","c98"),exact:!0,sidebar:"docs"},{path:"/docs/usage/extend",component:f("/docs/usage/extend","10b"),exact:!0,sidebar:"docs"},{path:"/docs/usage/getting_updates",component:f("/docs/usage/getting_updates","254"),exact:!0,sidebar:"docs"},{path:"/docs/usage/handlers",component:f("/docs/usage/handlers","9f9"),exact:!0,sidebar:"docs"},{path:"/docs/usage/inline_menu",component:f("/docs/usage/inline_menu","61f"),exact:!0,sidebar:"docs"},{path:"/docs/usage/keyboards",component:f("/docs/usage/keyboards","843"),exact:!0,sidebar:"docs"},{path:"/docs/usage/middleware",component:f("/docs/usage/middleware","262"),exact:!0,sidebar:"docs"},{path:"/docs/usage/sending_requests",component:f("/docs/usage/sending_requests","ba4"),exact:!0,sidebar:"docs"},{path:"/docs/usage/web_validation",component:f("/docs/usage/web_validation","1e4"),exact:!0,sidebar:"docs"}]},{path:"/",component:f("/","fc2"),exact:!0},{path:"*",component:f("*")}]},98934:function(e,t,n){"use strict";n.d(t,{_:function(){return a},t:function(){return o}});var r=n(67294);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)}},49383:function(e,t,n){"use strict";var r=n(67294),a=n(73935),o=n(73727),i=n(70405),s=n(10412),l=[n(36200),n(32497),n(3310),n(18320),n(52295)],c=n(723),u=n(16550),d=n(18790);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(83117),g=n(35742),m=n(52263),h=n(44996),b=n(86668),v=n(1944),y=n(94711),w=n(19727),x=n(43320),E=n(90197);function k(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,m.Z)(),n=(0,y.l)();return r.createElement(g.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 _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.Z)(),a=function(){const{siteConfig:{url:e}}=(0,m.Z)(),{pathname:t}=(0,u.TH)();return e+(0,h.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(g.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function S(){const{i18n:{currentLocale:e}}=(0,m.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(g.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(_,null),r.createElement(k,null),r.createElement(E.Z,{tag:x.HX,locale:e}),r.createElement(g.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const T=new Map;function C(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var P=n(98934),L=n(58940);function O(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{var r;const a=(null==(r=t.default)?void 0:r[e])??t[e];return null==a?void 0:a(...n)}));return()=>a.forEach((e=>null==e?void 0:e()))}var I=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(a&&function(e){const{hash:t}=e;if(t){const e=decodeURIComponent(t.substring(1)),n=document.getElementById(e);null==n||n.scrollIntoView()}else window.scrollTo(0,0)}(n),O("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function A(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>null==e.route.component.preload?void 0:e.route.component.preload())))}class N extends r.Component{constructor(e){super(e),this.previousLocation=void 0,this.routeUpdateCleanupCb=void 0,this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?O("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=O("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),A(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(I,{previousLocation:this.previousLocation,location:t},r.createElement(u.AW,{location:t,render:()=>e}))}}var R=N;const D="docusaurus-base-url-issue-banner-container",M="docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${D}');\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[F]=!1}),[]),r.createElement(r.Fragment,null,!s.Z.canUseDOM&&r.createElement(g.Z,null,r.createElement("script",null,B(e))),r.createElement("div",{id:D}))}function j(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,m.Z)(),{pathname:n}=(0,u.TH)();return t&&n===e?r.createElement($,null):null}function z(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,m.Z)(),i=(0,h.Z)(e),{htmlLang:s,direction:l}=o[a];return r.createElement(g.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 U=n(44763);function H(){const e=(0,d.H)(c.Z),t=(0,u.TH)();return r.createElement(U.Z,null,r.createElement(L.M,null,r.createElement(P.t,null,r.createElement(f,null,r.createElement(z,null),r.createElement(S,null),r.createElement(j,null),r.createElement(R,{location:C(t)},e)))))}var Z=n(16887);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{var r;if("undefined"==typeof document)return void n();const a=document.createElement("link");a.setAttribute("rel","prefetch"),a.setAttribute("href",e),a.onload=()=>t(),a.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??(null==(r=document.getElementsByName("script")[0])?void 0:r.parentNode);null==o||o.appendChild(a)}))}: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 V=n(99670);const G=new Set,q=new Set,W=()=>{var e,t;return(null==(e=navigator.connection)?void 0:e.effectiveType.includes("2g"))||(null==(t=navigator.connection)?void 0:t.saveData)},Y={prefetch(e){if(!(e=>!W()&&!q.has(e)&&!G.has(e))(e))return!1;G.add(e);const t=(0,d.f)(c.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,V.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload(e){return!!(e=>!W()&&!q.has(e))(e)&&(q.add(e),A(e))}};var K=Object.freeze(Y);if(s.Z.canUseDOM){window.docusaurus=K;const e=a.hydrate;A(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(H,null))),document.getElementById("__docusaurus"))}))}},58940:function(e,t,n){"use strict";n.d(t,{_:function(){return u},M:function(){return d}});var r=n(67294),a=n(36809),o=JSON.parse('{"docusaurus-plugin-google-gtag":{"default":{"trackingID":"G-PK4LKW3ZE2","anonymizeIP":true,"id":"default"}},"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"4.x","isLast":true,"path":"/docs","mainDocId":"introduction","docs":[{"id":"configuration/cache","path":"/docs/configuration/cache","sidebar":"docs"},{"id":"configuration/installation","path":"/docs/configuration/installation","sidebar":"docs"},{"id":"configuration/laravel","path":"/docs/configuration/laravel","sidebar":"docs"},{"id":"configuration/logging","path":"/docs/configuration/logging","sidebar":"docs"},{"id":"configuration/symfony","path":"/docs/configuration/symfony","sidebar":"docs"},{"id":"introduction","path":"/docs/introduction","sidebar":"docs"},{"id":"testing/asserting","path":"/docs/testing/asserting","sidebar":"docs"},{"id":"testing/hearing","path":"/docs/testing/hearing","sidebar":"docs"},{"id":"testing/introduction","path":"/docs/testing/introduction","sidebar":"docs"},{"id":"testing/mocking","path":"/docs/testing/mocking","sidebar":"docs"},{"id":"upgrading/from-1.x-to-2.x","path":"/docs/upgrading/from-1.x-to-2.x","sidebar":"docs"},{"id":"upgrading/from-2.x-to-3.x","path":"/docs/upgrading/from-2.x-to-3.x","sidebar":"docs"},{"id":"upgrading/from-3.x-to-4.x","path":"/docs/upgrading/from-3.x-to-4.x","sidebar":"docs"},{"id":"usage/bulk_messenger","path":"/docs/usage/bulk_messenger","sidebar":"docs"},{"id":"usage/conversations","path":"/docs/usage/conversations","sidebar":"docs"},{"id":"usage/extend","path":"/docs/usage/extend","sidebar":"docs"},{"id":"usage/getting_updates","path":"/docs/usage/getting_updates","sidebar":"docs"},{"id":"usage/handlers","path":"/docs/usage/handlers","sidebar":"docs"},{"id":"usage/inline_menu","path":"/docs/usage/inline_menu","sidebar":"docs"},{"id":"usage/keyboards","path":"/docs/usage/keyboards","sidebar":"docs"},{"id":"usage/middleware","path":"/docs/usage/middleware","sidebar":"docs"},{"id":"usage/sending_requests","path":"/docs/usage/sending_requests","sidebar":"docs"},{"id":"usage/web_validation","path":"/docs/usage/web_validation","sidebar":"docs"},{"id":"/category/-getting-started","path":"/docs/category/-getting-started","sidebar":"docs"},{"id":"/category/-usage","path":"/docs/category/-usage","sidebar":"docs"},{"id":"/category/\ufe0f-testing","path":"/docs/category/\ufe0f-testing","sidebar":"docs"},{"id":"/category/-upgrading","path":"/docs/category/-upgrading","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/introduction","label":"\ud83d\udcdc Introduction"}}}},{"name":"3.x","label":"3.x","isLast":false,"path":"/docs/3.x","mainDocId":"introduction","docs":[{"id":"configuration/cache","path":"/docs/3.x/configuration/cache","sidebar":"docs"},{"id":"configuration/installation","path":"/docs/3.x/configuration/installation","sidebar":"docs"},{"id":"configuration/laravel","path":"/docs/3.x/configuration/laravel","sidebar":"docs"},{"id":"configuration/logging","path":"/docs/3.x/configuration/logging","sidebar":"docs"},{"id":"configuration/symfony","path":"/docs/3.x/configuration/symfony","sidebar":"docs"},{"id":"introduction","path":"/docs/3.x/introduction","sidebar":"docs"},{"id":"testing/asserting","path":"/docs/3.x/testing/asserting","sidebar":"docs"},{"id":"testing/hearing","path":"/docs/3.x/testing/hearing","sidebar":"docs"},{"id":"testing/introduction","path":"/docs/3.x/testing/introduction","sidebar":"docs"},{"id":"testing/mocking","path":"/docs/3.x/testing/mocking","sidebar":"docs"},{"id":"upgrading/from-1.x-to-2.x","path":"/docs/3.x/upgrading/from-1.x-to-2.x","sidebar":"docs"},{"id":"upgrading/from-2.x-to-3.x","path":"/docs/3.x/upgrading/from-2.x-to-3.x","sidebar":"docs"},{"id":"usage/bulk_messenger","path":"/docs/3.x/usage/bulk_messenger","sidebar":"docs"},{"id":"usage/conversations","path":"/docs/3.x/usage/conversations","sidebar":"docs"},{"id":"usage/extend","path":"/docs/3.x/usage/extend","sidebar":"docs"},{"id":"usage/getting_updates","path":"/docs/3.x/usage/getting_updates","sidebar":"docs"},{"id":"usage/handlers","path":"/docs/3.x/usage/handlers","sidebar":"docs"},{"id":"usage/inline_menu","path":"/docs/3.x/usage/inline_menu","sidebar":"docs"},{"id":"usage/keyboards","path":"/docs/3.x/usage/keyboards","sidebar":"docs"},{"id":"usage/middleware","path":"/docs/3.x/usage/middleware","sidebar":"docs"},{"id":"usage/sending_requests","path":"/docs/3.x/usage/sending_requests","sidebar":"docs"},{"id":"/category/getting-started","path":"/docs/3.x/category/getting-started","sidebar":"docs"},{"id":"/category/usage","path":"/docs/3.x/category/usage","sidebar":"docs"},{"id":"/category/testing","path":"/docs/3.x/category/testing","sidebar":"docs"},{"id":"/category/upgrading","path":"/docs/3.x/category/upgrading","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/3.x/introduction","label":"Introduction"}}}},{"name":"2.x","label":"2.x","isLast":false,"path":"/docs/2.x","mainDocId":"introduction","docs":[{"id":"configuration/cache","path":"/docs/2.x/configuration/cache","sidebar":"docs"},{"id":"configuration/installation","path":"/docs/2.x/configuration/installation","sidebar":"docs"},{"id":"configuration/laravel","path":"/docs/2.x/configuration/laravel","sidebar":"docs"},{"id":"introduction","path":"/docs/2.x/introduction","sidebar":"docs"},{"id":"testing/asserting","path":"/docs/2.x/testing/asserting","sidebar":"docs"},{"id":"testing/hearing","path":"/docs/2.x/testing/hearing","sidebar":"docs"},{"id":"testing/introduction","path":"/docs/2.x/testing/introduction","sidebar":"docs"},{"id":"testing/mocking","path":"/docs/2.x/testing/mocking","sidebar":"docs"},{"id":"upgrading/from-1.x-to-2.x","path":"/docs/2.x/upgrading/from-1.x-to-2.x","sidebar":"docs"},{"id":"usage/conversations","path":"/docs/2.x/usage/conversations","sidebar":"docs"},{"id":"usage/extend","path":"/docs/2.x/usage/extend","sidebar":"docs"},{"id":"usage/getting_updates","path":"/docs/2.x/usage/getting_updates","sidebar":"docs"},{"id":"usage/handlers","path":"/docs/2.x/usage/handlers","sidebar":"docs"},{"id":"usage/inline_menu","path":"/docs/2.x/usage/inline_menu","sidebar":"docs"},{"id":"usage/middleware","path":"/docs/2.x/usage/middleware","sidebar":"docs"},{"id":"usage/sending_requests","path":"/docs/2.x/usage/sending_requests","sidebar":"docs"},{"id":"/category/getting-started","path":"/docs/2.x/category/getting-started","sidebar":"docs"},{"id":"/category/usage","path":"/docs/2.x/category/usage","sidebar":"docs"},{"id":"/category/testing","path":"/docs/2.x/category/testing","sidebar":"docs"},{"id":"/category/upgrading","path":"/docs/2.x/category/upgrading","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/2.x/introduction","label":"Introduction"}}}},{"name":"1.x","label":"1.x","isLast":false,"path":"/docs/1.x","mainDocId":"introduction","docs":[{"id":"configuration/cache","path":"/docs/1.x/configuration/cache","sidebar":"docs"},{"id":"configuration/installation","path":"/docs/1.x/configuration/installation","sidebar":"docs"},{"id":"configuration/laravel","path":"/docs/1.x/configuration/laravel","sidebar":"docs"},{"id":"introduction","path":"/docs/1.x/introduction","sidebar":"docs"},{"id":"usage/conversations","path":"/docs/1.x/usage/conversations","sidebar":"docs"},{"id":"usage/getting_updates","path":"/docs/1.x/usage/getting_updates","sidebar":"docs"},{"id":"usage/handlers","path":"/docs/1.x/usage/handlers","sidebar":"docs"},{"id":"usage/inline_menu","path":"/docs/1.x/usage/inline_menu","sidebar":"docs"},{"id":"usage/middleware","path":"/docs/1.x/usage/middleware","sidebar":"docs"},{"id":"usage/sending_requests","path":"/docs/1.x/usage/sending_requests","sidebar":"docs"},{"id":"/category/getting-started","path":"/docs/1.x/category/getting-started","sidebar":"docs"},{"id":"/category/usage","path":"/docs/1.x/category/usage","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/1.x/introduction","label":"Introduction"}}}}],"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"}}}'),s=n(57529),l=JSON.parse('{"docusaurusVersion":"2.2.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.2.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.2.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.2.0"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"2.2.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.2.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.2.0"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.33.5"}}}');const c={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},u=r.createContext(c);function d(e){let{children:t}=e;return r.createElement(u.Provider,{value:c},t)}},44763:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(67294),a=n(10412),o=n(35742),i=n(63929);function s(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"50vh",width:"100%",fontSize:"20px"}},r.createElement("h1",null,"This page crashed."),r.createElement("p",null,t.message),r.createElement("button",{type:"button",onClick:n},"Try again"))}function l(e){let{error:t,tryAgain:n}=e;return r.createElement(u,{fallback:()=>r.createElement(s,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(i.Z,null,r.createElement(s,{error:t,tryAgain:n})))}const c=e=>r.createElement(l,e);class u 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??c)(e)}return e??null}}},10412:function(e,t){"use strict";const n="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,r={canUseDOM:n,canUseEventListeners:n&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:n&&"IntersectionObserver"in window,canUseViewport:n&&"screen"in window};t.Z=r},35742:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(67294),a=n(70405);function o(e){return r.createElement(a.ql,e)}},39960:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(83117),a=n(67294),o=n(73727),i=n(18780),s=n(52263),l=n(13919),c=n(10412);const u=a.createContext({collectLink:()=>{}});var d=n(44996);function f(e,t){var n;let{isNavLink:f,to:p,href:g,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":b,autoAddBaseUrl:v=!0,...y}=e;const{siteConfig:{trailingSlash:w,baseUrl:x}}=(0,s.Z)(),{withBaseUrl:E}=(0,d.C)(),k=(0,a.useContext)(u),_=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>_.current));const S=p||g;const T=(0,l.Z)(S),C=null==S?void 0:S.replace("pathname://","");let P=void 0!==C?(L=C,v&&(e=>e.startsWith("/"))(L)?E(L):L):void 0;var L;P&&T&&(P=(0,i.applyTrailingSlash)(P,{trailingSlash:w,baseUrl:x}));const O=(0,a.useRef)(!1),I=f?o.OL:o.rU,A=c.Z.canUseIntersectionObserver,N=(0,a.useRef)(),R=()=>{O.current||null==P||(window.docusaurus.preload(P),O.current=!0)};(0,a.useEffect)((()=>(!A&&T&&null!=P&&window.docusaurus.prefetch(P),()=>{A&&N.current&&N.current.disconnect()})),[N,P,A,T]);const D=(null==(n=P)?void 0:n.startsWith("#"))??!1,M=!P||!T||D;return M||b||k.collectLink(P),M?a.createElement("a",(0,r.Z)({ref:_,href:P},S&&!T&&{target:"_blank",rel:"noopener noreferrer"},y)):a.createElement(I,(0,r.Z)({},y,{onMouseEnter:R,onTouchStart:R,innerRef:e=>{_.current=e,A&&e&&T&&(N.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(N.current.unobserve(e),N.current.disconnect(),null!=P&&window.docusaurus.prefetch(P))}))})),N.current.observe(e))},to:P},f&&{isActive:h,activeClassName:m}))}var p=a.forwardRef(f)},95999:function(e,t,n){"use strict";n.d(t,{Z:function(){return l},I:function(){return s}});var r=n(67294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=null==t?void 0: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(57529);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))}},29935:function(e,t,n){"use strict";n.d(t,{m:function(){return r}});const r="default"},13919:function(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:function(){return a},b:function(){return r}})},44996:function(e,t,n){"use strict";n.d(t,{C:function(){return o},Z:function(){return i}});var r=n(52263),a=n(13919);function o(){const{siteConfig:{baseUrl:e,url:t}}=(0,r.Z)();return{withBaseUrl:(n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:o=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,a.b)(n))return n;if(o)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)}}function i(e,t){void 0===t&&(t={});const{withBaseUrl:n}=o();return n(e,t)}},52263:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(67294),a=n(58940);function o(){return(0,r.useContext)(a._)}},72389:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(67294),a=n(98934);function o(){return(0,r.useContext)(a._)}},99670:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});function r(e){const t={};return function e(n,r){Object.entries(n).forEach((n=>{let[a,o]=n;const i=r?`${r}.${a}`:a;var s;"object"==typeof(s=o)&&s&&Object.keys(s).length>0?e(o,i):t[i]=o}))}(e),t}},30226:function(e,t,n){"use strict";n.d(t,{_:function(){return a},z:function(){return o}});var r=n(67294);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,...null==n?void 0:n.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},80143:function(e,t,n){"use strict";n.d(t,{Iw:function(){return m},gA:function(){return f},_r:function(){return u},Jo:function(){return h},zh:function(){return d},yW:function(){return g},gB:function(){return p}});var r=n(16550),a=n(52263),o=n(29935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=function(e,t){const n=s(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=null==n?void 0: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 c={},u=()=>i("docusaurus-plugin-content-docs")??c,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=null==r?void 0:r[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.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 p(e){return d(e).versions}function g(e){const t=d(e);return s(t)}function m(e){const t=d(e),{pathname:n}=(0,r.TH)();return l(t,n)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},36200:function(e,t,n){"use strict";n.r(t);const r={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("event","page_view",{page_title:document.title,page_location:window.location.href,page_path:t.pathname+t.search+t.hash})}))}};t.default=r},18320:function(e,t,n){"use strict";n.r(t);var r=n(74865),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()}};t.default=o},3310:function(e,t,n){"use strict";n.r(t);var r=n(87410),a=n(36809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(45873)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},39471:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(67294),a="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},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"}))}},63929:function(e,t,n){"use strict";n.d(t,{Z:function(){return qt}});var r=n(67294),a=n(86010),o=n(44763),i=n(1944),s=n(83117),l=n(16550),c=n(95999),u=n(85936);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,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const g=(0,c.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 m(e){const t=e.children??g,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":g},r.createElement("a",(0,s.Z)({},e,{href:`#${d}`,onClick:a}),t))}var h=n(35281),b=n(19727),v="skipToContent_fXgn";function y(){return r.createElement(m,{className:v})}var w=n(86668),x=n(59689);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"})))}var k="closeButton_CVFx";function _(e){return r.createElement("button",(0,s.Z)({type:"button","aria-label":(0,c.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",k,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}var S="content_knG7";function T(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,s.Z)({},e,{className:(0,a.Z)(S,e.className),dangerouslySetInnerHTML:{__html:n}}))}var C="announcementBar_mb4j",P="announcementBarPlaceholder_vyr4",L="announcementBarClose_gvF7",O="announcementBarContent_xLdY";function I(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,x.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:C,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:P}),r.createElement(T,{className:O}),i&&r.createElement(_,{onClick:n,className:L}))}var A=n(72961),N=n(12466);var R=n(902),D=n(13102);const M=r.createContext(null);function F(e){let{children:t}=e;const n=function(){const e=(0,A.e)(),t=(0,D.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,R.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(M.Provider,{value:n},t)}function B(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function $(){const e=(0,r.useContext)(M);if(!e)throw new R.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,D.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:B(o)})),[a,o,t])}function j(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown: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 z=n(92949),U=n(72389);function H(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 Z(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"}))}var Q={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function V(e){let{className:t,value:n,onChange:o}=e;const i=(0,U.Z)(),s=(0,c.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"===n?(0,c.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.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)(Q.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",Q.toggleButton,!i&&Q.toggleButtonDisabled),type:"button",onClick:()=>o("dark"===n?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite"},r.createElement(H,{className:(0,a.Z)(Q.toggleIcon,Q.lightToggleIcon)}),r.createElement(Z,{className:(0,a.Z)(Q.toggleIcon,Q.darkToggleIcon)})))}var G=r.memo(V);function q(e){let{className:t}=e;const n=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,z.I)();return n?null:r.createElement(G,{className:t,value:a,onChange:o})}var W=n(21327);function Y(){return r.createElement(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,A.e)();return r.createElement("button",{type:"button","aria-label":(0,c.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 X(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(Y,null),r.createElement(q,{className:"margin-right--md"}),r.createElement(K,null))}var J=n(39960),ee=n(44996),te=n(13919);function ne(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var re=n(39471);function ae(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:l,isDropdownLink:c,prependBaseUrlToHref:u,...d}=e;const f=(0,ee.Z)(a),p=(0,ee.Z)(t),g=(0,ee.Z)(o,{forcePrependBaseUrl:!0}),m=i&&o&&!(0,te.Z)(o),h=l?{dangerouslySetInnerHTML:{__html:l}}:{children:r.createElement(r.Fragment,null,i,m&&r.createElement(re.Z,c&&{width:12,height:12}))};return o?r.createElement(J.Z,(0,s.Z)({href:u?g:o},d,h)):r.createElement(J.Z,(0,s.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?ne(n,t.pathname):t.pathname.startsWith(p)},d,h))}function oe(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(ae,(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 ie(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ae,(0,s.Z)({className:(0,a.Z)("menu__link",t)},o)))}function se(e){let{mobile:t=!1,position:n,...a}=e;const o=t?ie:oe;return r.createElement(o,(0,s.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var le=n(86043),ce=n(48596),ue=n(52263);function de(e,t){return e.some((e=>function(e,t){return!!(0,ce.Mg)(e.to,t)||!!ne(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function fe(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const c=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[c]),r.createElement("div",{ref:c,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u})},r.createElement(ae,(0,s.Z)({"aria-haspopup":"true","aria-expanded":u,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(!u))}}),l.children??l.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,n)=>r.createElement(dt,(0,s.Z)({isDropdownItem:!0,onKeyDown:e=>{if(n===t.length-1&&"Tab"===e.key){e.preventDefault(),d(!1);const t=c.current.nextElementSibling;if(t){(t instanceof HTMLAnchorElement?t:t.querySelector("a")).focus()}}},activeClassName:"dropdown__link--active"},e,{key:n}))))))}function pe(e){let{items:t,className:n,position:o,onClick:i,...c}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,ue.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=de(t,u),{collapsed:f,toggleCollapsed:p,setCollapsed:g}=(0,le.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[u,d,g]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(ae,(0,s.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},c,{onClick:e=>{e.preventDefault(),p()}}),c.children??c.label),r.createElement(le.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(dt,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function ge(e){let{mobile:t=!1,...n}=e;const a=t?pe:fe;return r.createElement(a,n)}var me=n(94711);function he(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"}))}var be="iconLanguage_nlXk";var ve=n(61029),ye=n(10412),we=n(60373),xe=n(80143),Ee=n(90022),ke=n(98202),_e=n(73926),Se=n(91073),Te=n(82539),Ce=n(10726);var Pe="searchBar_RVTs",Le="dropdownMenu_qbY6",Oe="searchBarLeft_MXDe",Ie="suggestion_fB_2",Ae="cursor_eG29",Ne="hitTree_kk6K",Re="hitIcon_a7Zy",De="hitPath_ieM4",Me="noResultsIcon_EBY5",Fe="hitFooter_E9YW",Be="hitWrapper_sAK8",$e="hitTitle_vyVt",je="hitAction_NqkB",ze="noResults_l6Q3",Ue="searchBarContainer_NW3z",He="searchBarLoadingRing_YnHq",Ze="searchClearButton_qk4g",Qe="searchIndexLoading_EJ1f",Ve="searchHintContainer_Pkmr",Ge="searchHint_iIMx",qe="focused_OWtg",We="input_FOTf",Ye="hint_URu1",Ke="suggestions_X8XU",Xe="dataset_QiCy",Je="empty_eITn";function et(e){let{document:t,type:n,page:r,metadata:a,tokens:o,isInterOfTree:i,isLastOfTree:s}=e;const l=0===n,c=1===n,u=[];i?u.push(''):s&&u.push('');const d=u.map((e=>`${e}`)),f=`${l?'':c?'':''}`,p=[`${(0,Ce.o)(t.t,(0,Se.m)(a,"t"),o)}`];if(!i&&!s&&ve.H6){const e=r?(r.b??[]).concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;p.push(`${(0,_e.e)(e??[])}`)}else l||p.push(`${(0,Te.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),o)}`);const g=``;return[...d,f,``,...p,"",g].join("")}function tt(){return`${(0,c.I)({id:"theme.SearchBar.noResultsText",message:"No results"})}`}var nt=n(80311);async function rt(){const e=await Promise.all([n.e(8443),n.e(5525)]).then(n.t.bind(n,68443,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const at="_highlight";var ot=function(e){var t;let{handleSearchBarToggle:n}=e;const{siteConfig:{baseUrl:o}}=(0,ue.Z)(),i=(0,xe.gA)();let s=o;try{const{preferredVersion:e}=(0,we.J)((null==i?void 0:i.pluginId)??ve.gQ);e&&!e.isLast&&(s=e.path+"/")}catch(M){if(ve.l9&&!(M instanceof R.i6))throw M}const u=(0,l.k6)(),d=(0,l.TH)(),f=(0,r.useRef)(null),p=(0,r.useRef)(new Map),g=(0,r.useRef)(!1),[m,h]=(0,r.useState)(!1),[b,v]=(0,r.useState)(!1),[y,w]=(0,r.useState)(""),x=(0,r.useRef)(null),E=(0,r.useRef)(""),[k,_]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(ve.Kc))return;let e="";if(d.pathname.startsWith(s)){const t=d.pathname.substring(s.length),n=ve.Kc.find((e=>t===e||t.startsWith(`${e}/`)));n&&(e=n)}E.current!==e&&(p.current.delete(e),E.current=e),_(e)}),[d.pathname,s]);const S=!!ve.hG&&Array.isArray(ve.Kc)&&""===k,T=(0,r.useCallback)((async()=>{var e;if(S||p.current.get(k))return;p.current.set(k,"loading"),null==(e=x.current)||e.autocomplete.destroy(),h(!0);const[{wrappedIndexes:t,zhDictionary:n},r]=await Promise.all([(0,Ee.w)(s,k),rt()]);if(x.current=r(f.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,a.Z)(Pe,{[Oe]:"left"===ve.pu}),noPrefix:!0,dropdownMenu:Le,input:We,hint:Ye,suggestions:Ke,suggestion:Ie,cursor:Ae,dataset:Xe,empty:Je}},[{source:(0,ke.v)(t,n,ve.qo),templates:{suggestion:et,empty:tt,footer:e=>{let{query:t,isEmpty:n}=e;if(n)return;const r=document.createElement("a"),a=new URLSearchParams;if(a.set("q",t),Array.isArray(ve.Kc)&&a.set("ctx",k),s!==o){if(!s.startsWith(o))throw new Error(`Version url '${s}' does not start with base url '${o}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);a.set("version",s.substring(o.length))}const i=`${o}search?${a.toString()}`;r.href=i,r.textContent=(0,c.I)({id:"theme.SearchBar.seeAll",message:"See all results"}),r.addEventListener("click",(e=>{var t;e.ctrlKey||e.metaKey||(e.preventDefault(),null==(t=x.current)||t.autocomplete.close(),u.push(i))}));const l=document.createElement("div");return l.className=Fe,l.appendChild(r),l}}}]).on("autocomplete:selected",(function(e,t){var n;let{document:{u:r,h:a},tokens:o}=t;null==(n=f.current)||n.blur();let i=r;if(ve.vc&&o.length>0){const e=new URLSearchParams;for(const t of o)e.append(at,t);i+=`?${e.toString()}`}a&&(i+=a),u.push(i)})).on("autocomplete:closed",(()=>{var e;null==(e=f.current)||e.blur()})),p.current.set(k,"done"),h(!1),g.current){const e=f.current;var i;if(e.value)null==(i=x.current)||i.autocomplete.open();e.focus()}}),[S,k,s,o,u]);(0,r.useEffect)((()=>{if(!ve.vc)return;const e=ye.Z.canUseDOM?new URLSearchParams(d.search).getAll(at):[];setTimeout((()=>{var t;const n=document.querySelector("article");if(!n)return;const r=new ve.vc(n);r.unmark(),0!==e.length&&r.mark(e),w(e.join(" ")),null==(t=x.current)||t.autocomplete.setVal(e.join(" "))}))}),[d.search,d.pathname]);const[C,P]=(0,r.useState)(!1),L=(0,r.useCallback)((()=>{g.current=!0,T(),P(!0),null==n||n(!0)}),[n,T]),O=(0,r.useCallback)((()=>{P(!1),null==n||n(!1)}),[n]),I=(0,r.useCallback)((()=>{T()}),[T]),A=(0,r.useCallback)((e=>{w(e.target.value),e.target.value&&v(!0)}),[]),N=!!ye.Z.canUseDOM&&/mac/i.test((null==(t=navigator.userAgentData)?void 0:t.platform)??navigator.platform);(0,r.useEffect)((()=>{if(!ve.AY)return;const e=e=>{var t;(N?e.metaKey:e.ctrlKey)&&"KeyK"===e.code&&(e.preventDefault(),null==(t=f.current)||t.focus(),L())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[N,L]);const D=(0,r.useCallback)((()=>{var e;const t=new URLSearchParams(d.search);t.delete(at);const n=t.toString(),r=d.pathname+(""!=n?`?${n}`:"")+d.hash;r!=d.pathname+d.search+d.hash&&u.push(r),w(""),null==(e=x.current)||e.autocomplete.setVal("")}),[d.pathname,d.search,d.hash,u]);return r.createElement("div",{className:(0,a.Z)("navbar__search",Ue,{[Qe]:m&&b,[qe]:C}),hidden:S},r.createElement("input",{placeholder:(0,c.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:I,onFocus:L,onBlur:O,onChange:A,ref:f,value:y}),r.createElement(nt.Z,{className:He}),ve.AY&&ve.t_&&(""!==y?r.createElement("button",{className:Ze,onClick:D},"\u2715"):r.createElement("div",{className:Ve},r.createElement("kbd",{className:Ge},N?"\u2318":"ctrl"),r.createElement("kbd",{className:Ge},"K"))))},it="searchBox_ZlJk";function st(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,it)},t)}var lt=n(53438);const ct=e=>e.docs.find((t=>t.id===e.mainDocId));var ut={default:se,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,ue.Z)(),f=(0,me.l)(),{search:p,hash:g}=(0,l.TH)(),m=[...n,...u.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${g}`;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],h=t?(0,c.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(ge,(0,s.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(he,{className:be}),h),items:m}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(st,{className:n},r.createElement(ot,null))},dropdown:ge,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,xe.Iw)(a),l=(0,lt.vY)(t,a);return null===l?null:r.createElement(se,(0,s.Z)({exact:!0},o,{isActive:()=>(null==i?void 0:i.path)===l.path||!(null==i||!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,xe.Iw)(a),l=(0,lt.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(se,(0,s.Z)({exact:!0},o,{isActive:()=>(null==i?void 0: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,lt.lO)(a)[0],l=t??i.label,c=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(se,(0,s.Z)({},o,{label:l,to:c}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...u}=e;const{search:d,hash:f}=(0,l.TH)(),p=(0,xe.Iw)(n),g=(0,xe.gB)(n),{savePreferredVersionName:m}=(0,we.J)(n),h=[...o,...g.map((e=>{const t=p.alternateDocVersions[e.name]??ct(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...i],b=(0,lt.lO)(n)[0],v=t&&h.length>1?(0,c.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&h.length>1?void 0:ct(b).path;return h.length<=1?r.createElement(se,(0,s.Z)({},u,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(ge,(0,s.Z)({},u,{mobile:t,label:v,to:y,items:h,isActive:a?()=>!1:void 0}))}};function dt(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=ut[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function ft(){const e=(0,A.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(dt,(0,s.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function pt(e){return r.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(c.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 gt(){const e=0===(0,w.L)().navbar.items.length,t=$();return r.createElement(r.Fragment,null,!e&&r.createElement(pt,{onClick:()=>t.hide()}),t.content)}function mt(){const e=(0,A.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(j,{header:r.createElement(X,null),primaryMenu:r.createElement(ft,null),secondaryMenu:r.createElement(gt,null)}):null}var ht="navbarHideable_m1mJ",bt="navbarHidden_jGov";function vt(e){return r.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function yt(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,A.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+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:s,className:(0,a.Z)("navbar","navbar--fixed-top",n&&[ht,!l&&bt],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(vt,{onClick:i.toggle}),r.createElement(mt,null))}function wt(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 xt(){const{toggle:e,shown:t}=(0,A.e)();return r.createElement("button",{onClick:e,"aria-label":(0,c.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(wt,null))}var Et="colorModeToggle_DEke";function kt(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(dt,(0,s.Z)({},e,{key:t})))))}function _t(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 St(){const e=(0,A.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??"right")}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(_t,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(xt,null),r.createElement(Y,null),r.createElement(kt,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(kt,{items:a}),r.createElement(q,{className:Et}),!o&&r.createElement(st,null,r.createElement(ot,null)))})}function Tt(){return r.createElement(yt,null,r.createElement(St,null))}function Ct(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...l}=t,c=(0,ee.Z)(n),u=(0,ee.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(J.Z,(0,s.Z)({className:"footer__link-item"},a?{href:i?u:a}:{to:c},l),o,a&&!(0,te.Z)(a)&&r.createElement(re.Z,null))}function Pt(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(Ct,{item:t}))}function Lt(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(Pt,{key:t,item:e})))))}function Ot(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(Lt,{key:t,column:e}))))}function It(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function At(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(Ct,{item:t})}function Nt(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(At,{item:e}),t.length!==n+1&&r.createElement(It,null))))))}function Rt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(Ot,{columns:t}):r.createElement(Nt,{links:t})}var Dt=n(50941),Mt="footerLogoLink_BH7S";function Ft(e){let{logo:t}=e;const{withBaseUrl:n}=(0,ee.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(Dt.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function Bt(e){let{logo:t}=e;return t.href?r.createElement(J.Z,{href:t.href,className:Mt,target:t.target},r.createElement(Ft,{logo:t})):r.createElement(Ft,{logo:t})}function $t(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function jt(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 zt(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(jt,{style:o,links:n&&n.length>0&&r.createElement(Rt,{links:n}),logo:a&&r.createElement(Bt,{logo:a}),copyright:t&&r.createElement($t,{copyright:t})})}var Ut=r.memo(zt),Ht=n(7094);const Zt=(0,R.Qc)([z.S,x.pl,Ht.z,N.OC,we.L5,i.VC,function(e){let{children:t}=e;return r.createElement(D.n2,null,r.createElement(A.M,null,r.createElement(F,null,t)))}]);function Qt(e){let{children:t}=e;return r.createElement(Zt,null,t)}function Vt(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(c.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("p",null,t.message),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},r.createElement(c.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again when the page crashed"},"Try again"))))))}var Gt="mainWrapper_z2l0";function qt(e){const{children:t,noFooter:n,wrapperClassName:s,title:l,description:c}=e;return(0,b.t)(),r.createElement(Qt,null,r.createElement(i.d,{title:l,description:c}),r.createElement(y,null),r.createElement(I,null),r.createElement(Tt,null),r.createElement("div",{id:d,className:(0,a.Z)(h.k.wrapper.main,Gt,s)},r.createElement(o.Z,{fallback:e=>r.createElement(Vt,e)},t)),!n&&r.createElement(Ut,null))}},21327:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(83117),a=n(67294),o=n(39960),i=n(44996),s=n(52263),l=n(86668),c=n(50941);function u(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(c.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:c}}=(0,l.L)(),{imageClassName:d,titleClassName:f,...p}=e,g=(0,i.Z)((null==c?void 0:c.href)||"/"),m=n?"":t,h=(null==c?void 0:c.alt)??m;return a.createElement(o.Z,(0,r.Z)({to:g},p,(null==c?void 0:c.target)&&{target:c.target}),c&&a.createElement(u,{logo:c,alt:h,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},90197:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(67294),a=n(35742);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}))}},50941:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var r=n(83117),a=n(67294),o=n(86010),i=n(72389),s=n(92949),l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function c(e){const t=(0,i.Z)(),{colorMode:n}=(0,s.I)(),{sources:c,className:u,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:c[e],alt:d,className:(0,o.Z)(l.themedImage,l[`themedImage--${e}`],u)},f)))))}},86043:function(e,t,n){"use strict";n.d(t,{u:function(){return i},z:function(){return g}});var r=n(83117),a=n(67294),o=n(10412);function i(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const s={display:"none",overflow:"hidden",height:"0px"},l={display:"block",overflow:"visible",height:"auto"};function c(e,t){const n=t?s:l;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function u(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=(null==r?void 0:r.duration)??function(e){const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${(null==r?void 0:r.easing)??"ease-in-out"}`,height:`${t}px`}}function i(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return c(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(i(),requestAnimationFrame((()=>{e.style.height=s.height,e.style.overflow=s.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{i()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function d(e){if(!o.Z.canUseDOM)return e?s:l}function f(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const f=(0,a.useRef)(null);return u({collapsibleRef:f,collapsed:n,animation:o}),a.createElement(t,{ref:f,style:l?void 0:d(n),onTransitionEnd:e=>{"height"===e.propertyName&&(c(f.current,n),null==i||i(n))},className:s},r)}function p(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(f,(0,r.Z)({},n,{collapsed:s})):null}function g(e){let{lazy:t,...n}=e;const r=t?p:f;return a.createElement(r,n)}},59689:function(e,t,n){"use strict";n.d(t,{nT:function(){return g},pl:function(){return p}});var r=n(67294),a=n(72389),o=n(50012),i=n(902),s=n(86668);const l=(0,o.W)("docusaurus.announcement.dismiss"),c=(0,o.W)("docusaurus.announcement.id"),u=()=>"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&&u()));(0,r.useEffect)((()=>{o(u())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&d(!1),!r&&u()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},92949:function(e,t,n){"use strict";n.d(t,{I:function(){return h},S:function(){return m}});var r=n(67294),a=n(10412),o=n(902),i=n(50012),s=n(86668);const l=r.createContext(void 0),c="theme",u=(0,i.W)(c),d="light",f="dark",p=e=>e===f?f:d;function g(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[o,i]=(0,r.useState)((e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e))(e));(0,r.useEffect)((()=>{t&&u.del()}),[t]);const l=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(i(t),a&&(e=>{u.set(p(e))})(t)):(i(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f:d:e),u.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=u.get();null!==t&&l(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,l]);const g=(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||g.current?g.current=window.matchMedia("print").matches:l(null)};return e.addListener(r),()=>e.removeListener(r)}),[l,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:l,get isDarkTheme(){return o===f},setLightTheme(){l(d)},setDarkTheme(){l(f)}})),[o,l])}function m(e){let{children:t}=e;const n=g();return r.createElement(l.Provider,{value:n},t)}function h(){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}},60373:function(e,t,n){"use strict";n.d(t,{J:function(){return y},L5:function(){return b}});var r=n(67294),a=n(80143),o=n(29935),i=n(86668),s=n(53438),l=n(902),c=n(50012);const u=e=>`docs-preferred-version-${e}`,d=(e,t,n)=>{(0,c.W)(u(e),{persistence:t}).set(n)},f=(e,t)=>(0,c.W)(u(e),{persistence:t}).get(),p=(e,t)=>{(0,c.W)(u(e),{persistence:t}).del()};const g=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)((()=>(e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}]))))(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=f(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p(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(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return r.createElement(g.Provider,{value:n},t)}function b(e){let{children:t}=e;return s.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function v(){const e=(0,r.useContext)(g);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=v(),{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:function(e,t,n){"use strict";n.d(t,{V:function(){return l},b:function(){return s}});var r=n(67294),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}},74477:function(e,t,n){"use strict";n.d(t,{E:function(){return s},q:function(){return i}});var r=n(67294),a=n(902);const o=r.createContext(null);function i(e){let{children:t,version:n}=e;return r.createElement(o.Provider,{value:n},t)}function s(){const e=(0,r.useContext)(o);if(null===e)throw new a.i6("DocsVersionProvider");return e}},72961:function(e,t,n){"use strict";n.d(t,{M:function(){return f},e:function(){return p}});var r=n(67294),a=n(13102),o=n(87524),i=n(16550),s=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 c=n(86668);const u=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,c.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 u=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=d();return r.createElement(u.Provider,{value:n},t)}function p(){const e=r.useContext(u);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},13102:function(e,t,n){"use strict";n.d(t,{HY:function(){return s},Zo:function(){return l},n2:function(){return i}});var r=n(67294),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}},7094:function(e,t,n){"use strict";n.d(t,{U:function(){return c},z:function(){return l}});var r=n(67294),a=n(50012),o=n(902);const i="docusaurus.tab.",s=r.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const[e,t]=(0,r.useState)({}),n=(0,r.useCallback)(((e,t)=>{(0,a.W)(`docusaurus.tab.${e}`).set(t)}),[]);(0,r.useEffect)((()=>{try{const e={};(0,a._)().forEach((t=>{if(t.startsWith(i)){const n=t.substring(i.length);e[n]=(0,a.W)(t).get()}})),t(e)}catch(e){console.error(e)}}),[]);const o=(0,r.useCallback)(((e,r)=>{t((t=>({...t,[e]:r}))),n(e,r)}),[n]);return(0,r.useMemo)((()=>({tabGroupChoices:e,setTabGroupChoices:o})),[e,o])}();return r.createElement(s.Provider,{value:n},t)}function c(){const e=(0,r.useContext)(s);if(null==e)throw new o.i6("TabGroupChoiceProvider");return e}},19727:function(e,t,n){"use strict";n.d(t,{h:function(){return a},t:function(){return o}});var r=n(67294);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)}}),[])}},87524:function(e,t,n){"use strict";n.d(t,{i:function(){return c}});var r=n(67294),a=n(10412);const o="desktop",i="mobile",s="ssr";function l(){return a.Z.canUseDOM?window.innerWidth>996?o:i:s}function c(){const[e,t]=(0,r.useState)((()=>l()));return(0,r.useEffect)((()=>{function e(){t(l())}return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(undefined)}}),[]),e}},35281:function(e,t,n){"use strict";n.d(t,{k:function(){return 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:{}}},53438:function(e,t,n){"use strict";n.d(t,{MN:function(){return _},Wl:function(){return g},_F:function(){return b},cE:function(){return f},hI:function(){return k},jA:function(){return m},lO:function(){return w},oz:function(){return x},s1:function(){return y},vY:function(){return E},xz:function(){return p}});var r=n(67294),a=n(16550),o=n(18790),i=n(80143),s=n(60373),l=n(74477),c=n(1116),u=n(67392),d=n(48596);const f=!!i._r;function p(e){const t=(0,l.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function g(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=g(t);if(e)return e}}}function m(){const{pathname:e}=(0,a.TH)(),t=(0,c.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=v({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,d.Mg)(e,t);function b(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||((e,t)=>e.some((e=>b(e,t))))(e.items,t))}function v(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,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function y(){var e;const t=(0,c.V)(),{pathname:n}=(0,a.TH)();return!1!==(null==(e=(0,i.gA)())?void 0:e.pluginData.breadcrumbs)&&t?v({sidebarItems:t.items,pathname:n}):null}function w(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>(0,u.j)([t,n,a].filter(Boolean))),[t,n,a])}function x(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\n Available sidebar ids are:\n - ${Object.keys(t).join("\n- ")}`);return r[1]}),[e,n])}function E(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`DocNavbarItem: couldn't find any doc with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,u.j)(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,c=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.H)(i),sidebarName:l,sidebarItems:c}}function _(e){return e.filter((e=>"category"!==e.type||!!g(e)))}},67392:function(e,t,n){"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function a(e){return Array.from(new Set(e))}n.d(t,{j:function(){return a},l:function(){return r}})},1944:function(e,t,n){"use strict";n.d(t,{FG:function(){return f},d:function(){return u},VC:function(){return p}});var r=n(67294),a=n(86010),o=n(35742),i=n(30226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(44996),c=n(52263);function u(e){let{title:t,description:n,keywords:a,image:i,children:s}=e;const u=function(e){const{siteConfig:t}=(0,c.Z)(),{title:n,titleDelimiter:r}=t;return null!=e&&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,u),t&&r.createElement("meta",{property:"og:title",content:u}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),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:function(e,t,n){"use strict";n.d(t,{D9:function(){return i},Qc:function(){return c},Ql:function(){return l},i6:function(){return s},zX:function(){return o}});var r=n(67294);const a=n(10412).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){var n,r,a;super(),this.name="ReactContextError",this.message=`Hook ${(null==(n=this.stack)||null==(r=n.split("\n")[1])||null==(a=r.match(/at (?:\w+\.)?(?\w+)/))?void 0:a.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 c(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},48596:function(e,t,n){"use strict";n.d(t,{Mg:function(){return i},Ns:function(){return s}});var r=n(67294),a=n(723),o=n(52263);function i(e,t){const n=e=>{var t;return null==(t=!e||e.endsWith("/")?e:`${e}/`)?void 0:t.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])}},12466:function(e,t,n){"use strict";n.d(t,{Ct:function(){return p},OC:function(){return l},RF:function(){return d},o5:function(){return f}});var r=n(67294),a=n(10412),o=n(72389),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 c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const u=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(u()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=c(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,r.useLayoutEffect)((()=>{null==n.current||n.current()})),{blockElementScrollPositionUntilNextRender:a}}function p(){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:()=>null==e.current?void 0:e.current()}}},43320:function(e,t,n){"use strict";n.d(t,{HX:function(){return r},os:function(){return a}});n(52263);const r="default";function a(e,t){return`docs-${e}-${t}`}},50012:function(e,t,n){"use strict";n.d(t,{W:function(){return s},_:function(){return l}});const r="localStorage";function a(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,o||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),o=!0),null}var t}let o=!1;const i={get:()=>null,set:()=>{},del:()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t}}(e);const n=a(null==t?void 0:t.persistence);return null===n?i:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{n.setItem(e,t)}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{n.removeItem(e)}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}}}}function l(e){void 0===e&&(e=r);const t=a(e);if(!t)return[];const n=[];for(let r=0;r{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},86668:function(e,t,n){"use strict";n.d(t,{L:function(){return a}});var r=n(52263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:function(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)}},18780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="post-content";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}})},80311:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(67294),a=n(86010),o="loadingRing_RJI3";function i(e){let{className:t}=e;return r.createElement("div",{className:(0,a.Z)(o,t)},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null),r.createElement("div",null))}},90022:function(e,t,n){"use strict";n.d(t,{w:function(){return s}});var r=n(31336),a=n.n(r),o=n(61029);const i=new Map;function s(e,t){const n=`${e}${t}`;let r=i.get(n);return r||(r=async function(e,t){{const n=`${e}${o.J.replace("{dir}",t?`-${t.replace(/\//g,"-")}`:"")}`;if(new URL(n,location.origin).origin!==location.origin)throw new Error("Unexpected version url");const r=await(await fetch(n)).json(),i=r.map(((e,t)=>{let{documents:n,index:r}=e;return{type:t,documents:n,index:a().Index.load(r)}})),s=r.reduce(((e,t)=>{for(const n of t.index.invertedIndex)/\p{Unified_Ideograph}/u.test(n[0][0])&&e.add(n[0]);return e}),new Set);return{wrappedIndexes:i,zhDictionary:Array.from(s)}}return{wrappedIndexes:[],zhDictionary:[]}}(e,t),i.set(n,r)),r}},98202:function(e,t,n){"use strict";n.d(t,{v:function(){return l}});var r=n(31336),a=n.n(r);var o=n(61029);function i(e){return s(e).concat(s(e.filter((e=>{const t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function s(e,t){return e.map((e=>({tokens:e.map((e=>e.value)),term:e.map((e=>({value:e.value,presence:a().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?a().Query.wildcard.TRAILING:a().Query.wildcard.NONE})))})))}function l(e,t,n){return function(r,s){const l=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return a()[t[0]].tokenizer(e).map((e=>e.toString()));let n=/[^-\s]+/g;return t.includes("zh")&&(n=/\w+|\p{Unified_Ideograph}+/gu),e.toLowerCase().match(n)||[]}(r,o.dK);if(0===l.length)return void s([]);const c=function(e,t){const n=function(e,t){const n=[];return function e(r,a){if(0===r.length)return void n.push(a);const o=r[0];if(/\p{Unified_Ideograph}/u.test(o)){const n=function(e,t){const n=[];return function e(r,a){let o=0,i=!1;for(const s of t)if(r.substr(0,s.length)===s){const t={missed:a.missed,term:a.term.concat({value:s})};r.length>s.length?e(r.substr(s.length),t):n.push(t),i=!0}else for(let t=s.length-1;t>o;t-=1){const l=s.substr(0,t);if(r.substr(0,t)===l){o=t;const s={missed:a.missed,term:a.term.concat({value:l,trailing:!0})};r.length>t?e(r.substr(t),s):n.push(s),i=!0;break}}i||(r.length>0?e(r.substr(1),{missed:a.missed+1,term:a.term}):a.term.length>0&&n.push(a))}(e,{missed:0,term:[]}),n.sort(((e,t)=>{const n=e.missed>0?1:0,r=t.missed>0?1:0;return n!==r?n-r:e.term.length-t.term.length})).map((e=>e.term))}(o,t);for(const t of n){const n=a.concat(...t);e(r.slice(1),n)}}else{const t=a.concat({value:o});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:a().Query.presence.REQUIRED,wildcard:a().Query.wildcard.LEADING|a().Query.wildcard.TRAILING})))}];for(const a of n)a[a.length-1].maybeTyping=!0;const r=[];for(const i of o.dK)if("en"===i)o._k||r.unshift(a().stopWordFilter);else{const e=a()[i];e.stopWordFilter&&r.unshift(e.stopWordFilter)}let s;if(r.length>0){const e=e=>r.reduce(((e,t)=>e.filter((e=>t(e.value)))),e);s=[];const t=[];for(const r of n){const n=e(r);s.push(n),n.length0&&t.push(n)}n.push(...t)}else s=n.slice();const l=[];for(const a of s)if(a.length>2)for(let e=a.length-1;e>=0;e-=1)l.push(a.slice(0,e).concat(a.slice(e+1)));return i(n).concat(i(l))}(l,t),u=[];e:for(const{term:t,tokens:a}of c)for(const{documents:r,index:o,type:i}of e)if(u.push(...o.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!u.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-u.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:0!==i&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:a,score:t.score}}))),u.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type>0&&t.page?e.findIndex((e=>e.document===t.page)):t.index,a=n.type>0&&n.page?e.findIndex((e=>e.document===n.page)):n.index;return-1===r&&(r=t.index),-1===a&&(a=n.index),r===a?0===t.type?-1:0===n.type?1:t.index-n.index:r-a}))}(u),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.some((e=>e.document===t.page))&&(n/g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{X:function(){return r}})},91073:function(e,t,n){"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{m:function(){return r}})},82539:function(e,t,n){"use strict";n.d(t,{C:function(){return a}});var r=n(21690);function a(e,t,n){const o=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&o.push(a(e.substr(0,n),t)),o.push(`${(0,r.X)(e.substr(n,i.length))}`);const s=n+i.length;s${(0,r.X)(e)}`:(0,r.X)(e):o.join("")}},10726:function(e,t,n){"use strict";n.d(t,{o:function(){return l}});var r=n(21690),a=n(82539);const o=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const a=r.match(o);if(!a){t.push(r);break}a.index>0&&t.push(r.substring(0,a.index)),t.push(a[0]),n+=a.index+a[0].length,r=e.substring(n)}return t}var s=n(61029);function l(e,t,n,o){void 0===o&&(o=s.Hk);const{chunkIndex:l,chunks:c}=function(e,t,n){const o=[];let s=0,l=0,c=-1;for(;sl){const t=i(e.substring(l,u)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}-1===c&&(c=o.length),l=u+d,o.push({html:(0,a.C)(e.substring(u,l),n,!0),textLength:d})}}if(l({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}return{chunkIndex:c,chunks:o}}(e,t,n),u=c.slice(0,l),d=c[l],f=[d.html],p=c.slice(l+1);let g=d.textLength,m=0,h=0,b=!1,v=!1;for(;g0){const e=u.pop();g+e.textLength<=o?(f.unshift(e.html),m+=e.textLength,g+=e.textLength):(b=!0,u.length=0)}else{if(!(p.length>0))break;{const e=p.shift();g+e.textLength<=o?(f.push(e.html),h+=e.textLength,g+=e.textLength):(v=!0,p.length=0)}}return(b||u.length>0)&&f.unshift("\u2026"),(v||p.length>0)&&f.push("\u2026"),f.join("")}},61029:function(e,t,n){"use strict";n.d(t,{vc:function(){return o},gQ:function(){return p},H6:function(){return c},hG:function(){return h},l9:function(){return g},dK:function(){return r},_k:function(){return a},pu:function(){return f},AY:function(){return u},t_:function(){return d},Kc:function(){return m},J:function(){return i},Hk:function(){return l},qo:function(){return s}});n(31336);const r=["en"],a=!1,o=null,i="search-index{dir}.json?_=7ccc03fe",s=8,l=50,c=!1,u=!0,d=!0,f="right",p=void 0,g=!0,m=null,h=!1},86010:function(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;t=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g},s=n(2177);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.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 g(){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,m(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t0){var l=I.utils.clone(t)||{};l.position=[i,s],l.index=a.length,a.push(new I.Token(n.slice(i,o),l))}i=o+1}}return a},I.tokenizer.separator=/[\s\-]+/,I.Pipeline=function(){this._stack=[]},I.Pipeline.registeredFunctions=Object.create(null),I.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&I.utils.warn("Overwriting existing registered function: "+t),e.label=t,I.Pipeline.registeredFunctions[e.label]=e},I.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||I.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},I.Pipeline.load=function(e){var t=new I.Pipeline;return e.forEach((function(e){var n=I.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},I.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){I.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},I.Pipeline.prototype.after=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},I.Pipeline.prototype.before=function(e,t){I.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},I.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},I.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n1&&(oe&&(n=a),o!=e);)r=n-t,a=t+Math.floor(r/2),o=this.elements[2*a];return o==e||o>e?2*a:os?c+=2:i==s&&(t+=n[l+1]*r[c+1],l+=2,c+=2);return t},I.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},I.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t0){var o,i=a.str.charAt(0);i in a.node.edges?o=a.node.edges[i]:(o=new I.TokenSet,a.node.edges[i]=o),1==a.str.length&&(o.final=!0),r.push({node:o,editsRemaining:a.editsRemaining,str:a.str.slice(1)})}if(0!=a.editsRemaining){if("*"in a.node.edges)var s=a.node.edges["*"];else{s=new I.TokenSet;a.node.edges["*"]=s}if(0==a.str.length&&(s.final=!0),r.push({node:s,editsRemaining:a.editsRemaining-1,str:a.str}),a.str.length>1&&r.push({node:a.node,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)}),1==a.str.length&&(a.node.final=!0),a.str.length>=1){if("*"in a.node.edges)var l=a.node.edges["*"];else{l=new I.TokenSet;a.node.edges["*"]=l}1==a.str.length&&(l.final=!0),r.push({node:l,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)})}if(a.str.length>1){var c,u=a.str.charAt(0),d=a.str.charAt(1);d in a.node.edges?c=a.node.edges[d]:(c=new I.TokenSet,a.node.edges[d]=c),1==a.str.length&&(c.final=!0),r.push({node:c,editsRemaining:a.editsRemaining-1,str:u+a.str.slice(2)})}}}return n},I.TokenSet.fromString=function(e){for(var t=new I.TokenSet,n=t,r=0,a=e.length;r=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},I.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},I.Index.prototype.search=function(e){return this.query((function(t){new I.QueryParser(e,t).parse()}))},I.Index.prototype.query=function(e){for(var t=new I.Query(this.fields),n=Object.create(null),r=Object.create(null),a=Object.create(null),o=Object.create(null),i=Object.create(null),s=0;s1?1:e},I.Builder.prototype.k1=function(e){this._k1=e},I.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var a=0;a=this.length)return I.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},I.QueryLexer.prototype.width=function(){return this.pos-this.start},I.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},I.QueryLexer.prototype.backup=function(){this.pos-=1},I.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=I.QueryLexer.EOS&&this.backup()},I.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(I.QueryLexer.TERM)),e.ignore(),e.more())return I.QueryLexer.lexText},I.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.EDIT_DISTANCE),I.QueryLexer.lexText},I.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(I.QueryLexer.BOOST),I.QueryLexer.lexText},I.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(I.QueryLexer.TERM)},I.QueryLexer.termSeparator=I.tokenizer.separator,I.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==I.QueryLexer.EOS)return I.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return I.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(I.QueryLexer.TERM),I.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(I.QueryLexer.PRESENCE),I.QueryLexer.lexText;if(t.match(I.QueryLexer.termSeparator))return I.QueryLexer.lexTerm}else e.escapeCharacter()}},I.QueryParser=function(e,t){this.lexer=new I.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},I.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=I.QueryParser.parseClause;e;)e=e(this);return this.query},I.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},I.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},I.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},I.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case I.QueryLexer.PRESENCE:return I.QueryParser.parsePresence;case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new I.QueryParseError(n,t.start,t.end)}},I.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=I.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=I.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new I.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new I.QueryParseError(n,t.start,t.end)}switch(r.type){case I.QueryLexer.FIELD:return I.QueryParser.parseField;case I.QueryLexer.TERM:return I.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new I.QueryParseError(n,r.start,r.end)}}},I.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var a=e.peekLexeme();if(null==a){r="expecting term, found nothing";throw new I.QueryParseError(r,t.start,t.end)}if(a.type===I.QueryLexer.TERM)return I.QueryParser.parseTerm;r="expecting term, found '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}},I.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new I.QueryParseError(r,n.start,n.end)}else e.nextClause()}},I.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}else e.nextClause()}},I.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new I.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case I.QueryLexer.TERM:return e.nextClause(),I.QueryParser.parseTerm;case I.QueryLexer.FIELD:return e.nextClause(),I.QueryParser.parseField;case I.QueryLexer.EDIT_DISTANCE:return I.QueryParser.parseEditDistance;case I.QueryLexer.BOOST:return I.QueryParser.parseBoost;case I.QueryLexer.PRESENCE:return e.nextClause(),I.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new I.QueryParseError(r,a.start,a.end)}else e.nextClause()}},void 0===(a="function"==typeof(r=function(){return I})?r.call(t,n,t,e):r)||(e.exports=a)}()},32497:function(e,t,n){"use strict";n.r(t)},52295:function(e,t,n){"use strict";n.r(t)},74865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),c=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),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var 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 c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},27418:function(e){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}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,o){for(var i,s,l=a(e),c=1;c=d.reach);k+=E.value.length,E=E.next){var _=E.value;if(t.length>e.length)return;if(!(_ instanceof a)){var S,T=1;if(v){if(!(S=o(x,k,e,b))||S.index>=e.length)break;var C=S.index,P=S.index+S[0].length,L=k;for(L+=E.value.length;C>=L;)L+=(E=E.next).value.length;if(k=L-=E.value.length,E.value instanceof a)continue;for(var O=E;O!==t.tail&&(Ld.reach&&(d.reach=R);var D=E.prev;if(A&&(D=l(t,D,A),k+=A.length),c(t,D,T),E=l(t,D,new a(f,h?r.tokenize(I,h):I,y,I)),N&&l(t,E,N),T>1){var M={cause:f+","+g,reach:R};i(e,t,n,E.prev,k,M),d&&M.reach>d.reach&&(d.reach=M.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 c(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),r=n;n.default=n,r.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]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:r.languages[t]},n.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:r.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:a},r.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(e,t){r.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:r.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.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:/[{}[\];(),.:]/},r.languages.c=r.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|[?:~]|[-+*/%&|^!=<>]=?/}),r.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),r.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},r.languages.c.string],char:r.languages.c.char,comment:r.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:r.languages.c}}}}),r.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 r.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"])}(r),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"))}(r),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})}(r),r.languages.javascript=r.languages.extend("clike",{"class-name":[r.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}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.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:r.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:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.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:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.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:r.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"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.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")),r.languages.js=r.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}(r),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}(r),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}(r),r.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:r.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+/},r.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(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function 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 c(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,l(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function u(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,u={},d=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 u[n]=a,n})).join(""),n,r),f=Object.keys(u);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,s=o.indexOf(a);if(-1!==s){++i;var l=o.substring(0,s),d=c(u[a]),p=o.substring(s+a.length),g=[];if(l&&g.push(l),g.push(d),p){var m=[p];e(m),g.push.apply(g,m)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(g)),n+=g.length-1):r.content=g}}else{var h=r.content;Array.isArray(h)?e(h):e([h])}}}(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}(r),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)}))}(r),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})}(r),r.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},r.languages.go=r.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/}),r.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete r.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 c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],f="string"==typeof c?c:c.content,p=t(r,u),g=f.indexOf(p);if(g>-1){++a;var m=f.substring(0,g),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(g+p.length),v=[];m&&v.push.apply(v,i([m])),v.push(h),b&&v.push.apply(v,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(v)):c.content=v}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(r),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}(r),r.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"}},r.languages.webmanifest=r.languages.json,r.languages.less=r.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:/[+\-*\/]/}),r.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),r.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:/[:;(){}]/},r.languages.objectivec=r.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 r.languages.objectivec["class-name"],r.languages.objc=r.languages.objectivec,r.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/},r.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:/[{}[\];(),.:]/},r.languages.python["string-interpolation"].inside.interpolation.inside.rest=r.languages.python,r.languages.py=r.languages.python,r.languages.reason=r.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/}),r.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 r.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}})}(r),r.languages.scss=r.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]+\}/}}}),r.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}]}),r.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),r.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}}),r.languages.scss.atrule.inside.rest=r.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:/[{}()\[\];:.]/}}(r),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}(r),r.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:/[()]/},t.Z=r},57874:function(){!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+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,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|cargo|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|java|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|sysctl|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","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:a,punctuation:o};var i={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:i}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:i}}];e.languages.insertBefore("php","variable",{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:a,punctuation:o}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){if(/<\?/.test(t.code)){e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(Prism)},45873:function(e,t,n){var r={"./prism-bash":57874,"./prism-php":99945};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=45873},92703:function(e,t,n){"use strict";var r=n(50414);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}},45697:function(e,t,n){e.exports=n(92703)()},50414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:function(e,t,n){"use strict";var r=n(67294),a=n(27418),o=n(63840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n