@gkd-kit/docs 0.0.1792080613269 → 0.0.1793377480416
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vitepress/dist/404.html +9 -8
- package/.vitepress/dist/404_.md +9 -8
- package/.vitepress/dist/_config.json +1 -1
- package/.vitepress/dist/api/index.html +13 -12
- package/.vitepress/dist/api/index_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawApp.html +13 -12
- package/.vitepress/dist/api/interfaces/RawAppGroup.html +14 -13
- package/.vitepress/dist/api/interfaces/RawAppGroup_.md +14 -13
- package/.vitepress/dist/api/interfaces/RawAppRule.html +13 -12
- package/.vitepress/dist/api/interfaces/RawAppRuleProps.html +13 -12
- package/.vitepress/dist/api/interfaces/RawAppRuleProps_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawAppRule_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawApp_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawCategory.html +13 -12
- package/.vitepress/dist/api/interfaces/RawCategory_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawCommonProps.html +14 -13
- package/.vitepress/dist/api/interfaces/RawCommonProps_.md +14 -13
- package/.vitepress/dist/api/interfaces/RawGlobalApp.html +13 -12
- package/.vitepress/dist/api/interfaces/RawGlobalApp_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawGlobalGroup.html +13 -12
- package/.vitepress/dist/api/interfaces/RawGlobalGroup_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawGlobalRule.html +13 -12
- package/.vitepress/dist/api/interfaces/RawGlobalRuleProps.html +13 -12
- package/.vitepress/dist/api/interfaces/RawGlobalRuleProps_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawGlobalRule_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawGroupProps.html +13 -12
- package/.vitepress/dist/api/interfaces/RawGroupProps_.md +13 -12
- package/.vitepress/dist/api/interfaces/RawRuleProps.html +14 -13
- package/.vitepress/dist/api/interfaces/RawRuleProps_.md +14 -13
- package/.vitepress/dist/api/interfaces/RawSubscription.html +14 -13
- package/.vitepress/dist/api/interfaces/RawSubscription_.md +14 -13
- package/.vitepress/dist/api/type-aliases/IArray.html +14 -13
- package/.vitepress/dist/api/type-aliases/IArray_.md +14 -13
- package/.vitepress/dist/api/type-aliases/Integer.html +14 -13
- package/.vitepress/dist/api/type-aliases/IntegerMatcher.html +13 -12
- package/.vitepress/dist/api/type-aliases/IntegerMatcher_.md +13 -12
- package/.vitepress/dist/api/type-aliases/Integer_.md +14 -13
- package/.vitepress/dist/api/type-aliases/Position.html +14 -13
- package/.vitepress/dist/api/type-aliases/Position_.md +14 -13
- package/.vitepress/dist/api/type-aliases/StringMatcher.html +13 -12
- package/.vitepress/dist/api/type-aliases/StringMatcher_.md +13 -12
- package/.vitepress/dist/api/type-aliases/SwipeArg.html +13 -12
- package/.vitepress/dist/api/type-aliases/SwipeArg_.md +13 -12
- package/.vitepress/dist/assets/{api_index.md.CjQzKled.js → api_index.md.BNil6U6w.js} +1 -1
- package/.vitepress/dist/assets/api_index.md.BNil6U6w.lean.js +1 -0
- package/.vitepress/dist/assets/{api_interfaces_RawApp.md.BpzQ9G66.js → api_interfaces_RawApp.md.CGFbXRRf.js} +1 -1
- package/.vitepress/dist/assets/api_interfaces_RawApp.md.CGFbXRRf.lean.js +1 -0
- package/.vitepress/dist/assets/{api_interfaces_RawAppGroup.md.Ck2PMmew.js → api_interfaces_RawAppGroup.md.Cb2JZACi.js} +1 -1
- package/.vitepress/dist/assets/{api_interfaces_RawAppGroup.md.Ck2PMmew.lean.js → api_interfaces_RawAppGroup.md.Cb2JZACi.lean.js} +1 -1
- package/.vitepress/dist/assets/api_interfaces_RawAppRule.md.16ToK1b4.js +1 -0
- package/.vitepress/dist/assets/{api_interfaces_RawAppRule.md.svCCf5YM.lean.js → api_interfaces_RawAppRule.md.16ToK1b4.lean.js} +1 -1
- package/.vitepress/dist/assets/{api_interfaces_RawAppRuleProps.md.Djcgq66H.js → api_interfaces_RawAppRuleProps.md.DLwp-mnf.js} +1 -1
- package/.vitepress/dist/assets/api_interfaces_RawAppRuleProps.md.DLwp-mnf.lean.js +1 -0
- package/.vitepress/dist/assets/{api_interfaces_RawCategory.md.DHBN1t1h.js → api_interfaces_RawCategory.md.Dco13jky.js} +1 -1
- package/.vitepress/dist/assets/{api_interfaces_RawCategory.md.DHBN1t1h.lean.js → api_interfaces_RawCategory.md.Dco13jky.lean.js} +1 -1
- package/.vitepress/dist/assets/{api_interfaces_RawCommonProps.md.BqWR20Ki.js → api_interfaces_RawCommonProps.md.BOfcCRCc.js} +1 -1
- package/.vitepress/dist/assets/api_interfaces_RawCommonProps.md.BOfcCRCc.lean.js +1 -0
- package/.vitepress/dist/assets/{api_interfaces_RawGlobalApp.md.nzd5SVi6.js → api_interfaces_RawGlobalApp.md.DtVFQiTT.js} +1 -1
- package/.vitepress/dist/assets/{api_interfaces_RawGlobalApp.md.nzd5SVi6.lean.js → api_interfaces_RawGlobalApp.md.DtVFQiTT.lean.js} +1 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalGroup.md.qiRNsoTF.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalGroup.md.qiRNsoTF.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRule.md.DOrLrZz9.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRule.md.DOrLrZz9.lean.js +1 -0
- package/.vitepress/dist/assets/{api_interfaces_RawGlobalRuleProps.md.CnnmlY17.js → api_interfaces_RawGlobalRuleProps.md.Bfh1BkN_.js} +1 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRuleProps.md.Bfh1BkN_.lean.js +1 -0
- package/.vitepress/dist/assets/{api_interfaces_RawGroupProps.md.b_Emqo9z.js → api_interfaces_RawGroupProps.md.BcXgEUF9.js} +1 -1
- package/.vitepress/dist/assets/api_interfaces_RawGroupProps.md.BcXgEUF9.lean.js +1 -0
- package/.vitepress/dist/assets/{api_interfaces_RawRuleProps.md.Dub6x9Ex.js → api_interfaces_RawRuleProps.md.COS91PDT.js} +1 -1
- package/.vitepress/dist/assets/{api_interfaces_RawRuleProps.md.Dub6x9Ex.lean.js → api_interfaces_RawRuleProps.md.COS91PDT.lean.js} +1 -1
- package/.vitepress/dist/assets/{api_interfaces_RawSubscription.md.DGEaq3vF.js → api_interfaces_RawSubscription.md.DgHbOknP.js} +1 -1
- package/.vitepress/dist/assets/api_interfaces_RawSubscription.md.DgHbOknP.lean.js +1 -0
- package/.vitepress/dist/assets/{api_type-aliases_IArray.md.CaN7hADu.js → api_type-aliases_IArray.md.Dcsu7ogp.js} +1 -1
- package/.vitepress/dist/assets/api_type-aliases_IArray.md.Dcsu7ogp.lean.js +1 -0
- package/.vitepress/dist/assets/{api_type-aliases_Integer.md.Dm63ynqV.js → api_type-aliases_Integer.md.BYxbDJD2.js} +1 -1
- package/.vitepress/dist/assets/api_type-aliases_Integer.md.BYxbDJD2.lean.js +1 -0
- package/.vitepress/dist/assets/{api_type-aliases_IntegerMatcher.md.BE39eIyQ.js → api_type-aliases_IntegerMatcher.md.trNeSlsr.js} +1 -1
- package/.vitepress/dist/assets/api_type-aliases_IntegerMatcher.md.trNeSlsr.lean.js +1 -0
- package/.vitepress/dist/assets/{api_type-aliases_Position.md.CieLiaPU.js → api_type-aliases_Position.md.BKJKrbwo.js} +1 -1
- package/.vitepress/dist/assets/{api_type-aliases_Position.md.CieLiaPU.lean.js → api_type-aliases_Position.md.BKJKrbwo.lean.js} +1 -1
- package/.vitepress/dist/assets/{api_type-aliases_StringMatcher.md.DMiH2Jb8.js → api_type-aliases_StringMatcher.md.4xzWhqtd.js} +1 -1
- package/.vitepress/dist/assets/api_type-aliases_StringMatcher.md.4xzWhqtd.lean.js +1 -0
- package/.vitepress/dist/assets/{api_type-aliases_SwipeArg.md.CJ5jBhMZ.js → api_type-aliases_SwipeArg.md.CFAUTlEO.js} +1 -1
- package/.vitepress/dist/assets/{api_type-aliases_SwipeArg.md.CJ5jBhMZ.lean.js → api_type-aliases_SwipeArg.md.CFAUTlEO.lean.js} +1 -1
- package/.vitepress/dist/assets/app.PkH4j9g4.js +1 -0
- package/.vitepress/dist/assets/chunks/{@localSearchIndexroot.DMTuGQCp.js → @localSearchIndexroot.lzgA63U0.js} +1 -1
- package/.vitepress/dist/assets/chunks/FileSaver.min.D7SHbo09.js +1 -0
- package/.vitepress/dist/assets/chunks/VPLocalSearchBox.pO3H9ama.js +3 -0
- package/.vitepress/dist/assets/chunks/framework.CKeY8dpZ.js +5 -0
- package/.vitepress/dist/assets/chunks/{metadata.17386902.js → metadata.63d20f31.js} +1 -1
- package/.vitepress/dist/assets/chunks/rolldown-runtime.WkwZ5CU-.js +1 -0
- package/.vitepress/dist/assets/chunks/theme.Dkyxannt.js +1 -0
- package/.vitepress/dist/assets/{guide_example.md.D2MSvgf4.js → guide_example.md.C2jGKoWR.js} +1 -1
- package/.vitepress/dist/assets/guide_example.md.C2jGKoWR.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_external.md.BksoEzHI.js → guide_external.md.1TgR_zL2.js} +1 -1
- package/.vitepress/dist/assets/guide_external.md.1TgR_zL2.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_faq.md.CZNrK2yz.js → guide_faq.md.CnNWovfh.js} +1 -1
- package/.vitepress/dist/assets/guide_faq.md.CnNWovfh.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_index.md.DCga0che.js → guide_index.md.CLMi5ZX_.js} +1 -1
- package/.vitepress/dist/assets/guide_index.md.CLMi5ZX_.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_node.md.1Q8T9u2Q.js → guide_node.md.CCvDuqWL.js} +1 -1
- package/.vitepress/dist/assets/guide_node.md.CCvDuqWL.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_optimize.md.BOLI440-.js → guide_optimize.md.BdyoOXj4.js} +1 -1
- package/.vitepress/dist/assets/guide_optimize.md.BdyoOXj4.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_privacy.md.C9nbUwLT.js → guide_privacy.md.C-eVaMY8.js} +1 -1
- package/.vitepress/dist/assets/guide_privacy.md.C-eVaMY8.lean.js +1 -0
- package/.vitepress/dist/assets/guide_selector.md.CdlqnHSS.js +1 -0
- package/.vitepress/dist/assets/guide_selector.md.CdlqnHSS.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_snapshot.md.BDXk9o46.js → guide_snapshot.md.COelQlvn.js} +1 -1
- package/.vitepress/dist/assets/guide_snapshot.md.COelQlvn.lean.js +1 -0
- package/.vitepress/dist/assets/guide_sponsor.md.C8FODN03.js +1 -0
- package/.vitepress/dist/assets/guide_sponsor.md.C8FODN03.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_subscription.md.BgsHr7t8.js → guide_subscription.md.CqG2RZHd.js} +6 -6
- package/.vitepress/dist/assets/guide_subscription.md.CqG2RZHd.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_terms.md.k6Fr8Bh5.js → guide_terms.md.N-bKARyK.js} +1 -1
- package/.vitepress/dist/assets/guide_terms.md.N-bKARyK.lean.js +1 -0
- package/.vitepress/dist/assets/guide_what-is-gkd.md.D8BGCBHc.js +1 -0
- package/.vitepress/dist/assets/guide_what-is-gkd.md.D8BGCBHc.lean.js +1 -0
- package/.vitepress/dist/assets/{index.md.CitPk6b0.js → index.md.Cedtkwb7.js} +1 -1
- package/.vitepress/dist/assets/{index.md.CitPk6b0.lean.js → index.md.Cedtkwb7.lean.js} +1 -1
- package/.vitepress/dist/assets/inter-italic-cyrillic-ext._yYvJxaO.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-cyrillic.CR0FzlVp.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-greek-ext.DngHnpzC.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-greek.BeK1HKg-.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-latin-ext.Dm0n7MN1.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-latin.Duvr4T3O.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-symbols.DUl242AY.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-vietnamese.CNdtrOX_.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-cyrillic-ext.BIKsGeDD.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-cyrillic.R72SAhgh.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-greek-ext.CXd8zwEg.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-greek.brO7ZQXV.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-latin-ext.Cjca3GLw.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-latin.q5rAVC0E.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-symbols.CQZtw9ew.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-vietnamese.DaEDpkt8.woff2 +0 -0
- package/.vitepress/dist/assets/{polyfills.CHgXubMX.js → polyfills.DBTn7C85.js} +2 -2
- package/.vitepress/dist/assets/style.B21V_MoQ.css +3 -0
- package/.vitepress/dist/assets/vp-icons.139f4833.css +2 -0
- package/.vitepress/dist/guide/example.html +13 -12
- package/.vitepress/dist/guide/example_.md +13 -12
- package/.vitepress/dist/guide/external.html +13 -12
- package/.vitepress/dist/guide/external_.md +13 -12
- package/.vitepress/dist/guide/faq.html +14 -13
- package/.vitepress/dist/guide/faq_.md +14 -13
- package/.vitepress/dist/guide/index.html +13 -12
- package/.vitepress/dist/guide/index_.md +13 -12
- package/.vitepress/dist/guide/node.html +13 -12
- package/.vitepress/dist/guide/node_.md +13 -12
- package/.vitepress/dist/guide/optimize.html +13 -12
- package/.vitepress/dist/guide/optimize_.md +13 -12
- package/.vitepress/dist/guide/privacy.html +13 -12
- package/.vitepress/dist/guide/privacy_.md +13 -12
- package/.vitepress/dist/guide/selector.html +14 -13
- package/.vitepress/dist/guide/selector_.md +14 -13
- package/.vitepress/dist/guide/snapshot.html +13 -12
- package/.vitepress/dist/guide/snapshot_.md +13 -12
- package/.vitepress/dist/guide/sponsor.html +13 -12
- package/.vitepress/dist/guide/sponsor_.md +13 -12
- package/.vitepress/dist/guide/subscription.html +14 -13
- package/.vitepress/dist/guide/subscription_.md +14 -13
- package/.vitepress/dist/guide/terms.html +13 -12
- package/.vitepress/dist/guide/terms_.md +13 -12
- package/.vitepress/dist/guide/what-is-gkd.html +13 -12
- package/.vitepress/dist/guide/what-is-gkd_.md +13 -12
- package/.vitepress/dist/hashmap.json +1 -1
- package/.vitepress/dist/index.html +13 -12
- package/.vitepress/dist/index_.md +13 -12
- package/_config.json +1 -1
- package/package.json +3 -2
- package/.vitepress/dist/assets/api_index.md.CjQzKled.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawApp.md.BpzQ9G66.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawAppRule.md.svCCf5YM.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawAppRuleProps.md.Djcgq66H.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawCommonProps.md.BqWR20Ki.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalGroup.md.BX5E3cY2.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalGroup.md.BX5E3cY2.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRule.md.BBIb-pml.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRule.md.BBIb-pml.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRuleProps.md.CnnmlY17.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGroupProps.md.b_Emqo9z.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawSubscription.md.DGEaq3vF.lean.js +0 -1
- package/.vitepress/dist/assets/api_type-aliases_IArray.md.CaN7hADu.lean.js +0 -1
- package/.vitepress/dist/assets/api_type-aliases_Integer.md.Dm63ynqV.lean.js +0 -1
- package/.vitepress/dist/assets/api_type-aliases_IntegerMatcher.md.BE39eIyQ.lean.js +0 -1
- package/.vitepress/dist/assets/api_type-aliases_StringMatcher.md.DMiH2Jb8.lean.js +0 -1
- package/.vitepress/dist/assets/app.C9Syz9Q-.js +0 -1
- package/.vitepress/dist/assets/chunks/FileSaver.min.mmHyTxhb.js +0 -1
- package/.vitepress/dist/assets/chunks/VPLocalSearchBox.CWAJr3OK.js +0 -3
- package/.vitepress/dist/assets/chunks/framework.bo_0njjP.js +0 -5
- package/.vitepress/dist/assets/chunks/rolldown-runtime.CbXtAM7H.js +0 -1
- package/.vitepress/dist/assets/chunks/theme.BgtREQqS.js +0 -1
- package/.vitepress/dist/assets/guide_example.md.D2MSvgf4.lean.js +0 -1
- package/.vitepress/dist/assets/guide_external.md.BksoEzHI.lean.js +0 -1
- package/.vitepress/dist/assets/guide_faq.md.CZNrK2yz.lean.js +0 -1
- package/.vitepress/dist/assets/guide_index.md.DCga0che.lean.js +0 -1
- package/.vitepress/dist/assets/guide_node.md.1Q8T9u2Q.lean.js +0 -1
- package/.vitepress/dist/assets/guide_optimize.md.BOLI440-.lean.js +0 -1
- package/.vitepress/dist/assets/guide_privacy.md.C9nbUwLT.lean.js +0 -1
- package/.vitepress/dist/assets/guide_selector.md.DCRCfUuD.js +0 -1
- package/.vitepress/dist/assets/guide_selector.md.DCRCfUuD.lean.js +0 -1
- package/.vitepress/dist/assets/guide_snapshot.md.BDXk9o46.lean.js +0 -1
- package/.vitepress/dist/assets/guide_sponsor.md.C_yW6rHr.js +0 -1
- package/.vitepress/dist/assets/guide_sponsor.md.C_yW6rHr.lean.js +0 -1
- package/.vitepress/dist/assets/guide_subscription.md.BgsHr7t8.lean.js +0 -1
- package/.vitepress/dist/assets/guide_terms.md.k6Fr8Bh5.lean.js +0 -1
- package/.vitepress/dist/assets/guide_what-is-gkd.md.BJted3AI.js +0 -1
- package/.vitepress/dist/assets/guide_what-is-gkd.md.BJted3AI.lean.js +0 -1
- package/.vitepress/dist/assets/inter-italic-cyrillic-ext._dlW9xFb.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-cyrillic.D7dRslh9.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-greek-ext.Ct-Tf2bq.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-greek.DNcpQ8QC.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-latin-ext.DytegdRQ.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-latin.CoImASkB.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-symbols.DBflboKE.woff2 +0 -0
- package/.vitepress/dist/assets/inter-italic-vietnamese.BI5UxJD-.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-cyrillic-ext.BeNbU08G.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-cyrillic.CD0kT8R4.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-greek-ext.CFAEQ5Ow.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-greek.Dsf7YjP7.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-latin-ext.Dl_ayf4-.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-latin.BOE8-mWI.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-symbols.w-B2-dTa.woff2 +0 -0
- package/.vitepress/dist/assets/inter-roman-vietnamese.CpqCnS2H.woff2 +0 -0
- package/.vitepress/dist/assets/style.sQiVUa0J.css +0 -2
- package/.vitepress/dist/vp-icons.css +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,at as t,ct as n,jt as r,nt as i,o as a,ot as o,yt as s}from"./chunks/framework.bo_0njjP.js";var c=JSON.parse(`{"title":"选择器","description":"","frontmatter":{},"headers":[],"relativePath":"guide/selector.md","filePath":"guide/selector.md","lastUpdated":1792029959000}`),l={name:`guide/selector.md`},u={class:`vp-raw`},d={tabindex:`0`},f={style:{"text-align":`center`}},p={style:{"text-align":`center`}},m={style:{"text-align":`center`}},h={style:{"text-align":`center`}},g={style:{"text-align":`center`}};function _(a,c,l,_,v,y){let b=e(`GkIdentifierField`),x=e(`GkImage`),S=e(`GkImagePreviewGroup`);return s(),t(`div`,null,[c[16]||(c[16]=o(`<h1 id="title" tabindex="-1">选择器 <a class="header-anchor" href="#title" aria-label="Permalink to “选择器”"></a></h1><p>一个类似 CSS 选择器的选择器, 能联系节点上下文信息, 更容易也更精确找到目标节点</p><h2 id="why" tabindex="-1">为什么需要选择器 <a class="header-anchor" href="#why" aria-label="Permalink to “为什么需要选择器”"></a></h2><p>我们的目的是查询获取屏幕上的某个节点, 最简单的情况下, 目标节点已经有唯一的 id/text 标识</p><p>这时只需要配置 id/text 就能简单执行点击, 但实际情况很多节点都缺失了这些信息, 无法简单查询获取</p><p>节点还存在很多额外信息没有被利用到, 节点所有属性可以在 <a href="https://i.gkd.li/i/14045424" target="_blank" rel="noreferrer">快照-14045424</a> 的属性面板看到</p><p>另一种常见的情况是节点没有有效属性, 这时我们需要根据周围的节点去定位</p><p>选择器就是为了解决这些问题而开发的, 下面是对选择器语法的详细介绍</p><div class="tip custom-block github-alert"><p class="custom-block-title">提示</p><p>本文是从 <strong>抽象语法树(AST)</strong> 的角度去完备地介绍选择器结构<br> 如果你是初学者, 建议你直接看 <a href="./example">选择器-示例</a></p></div><h2 id="syntax" tabindex="-1">语法 <a class="header-anchor" href="#syntax" aria-label="Permalink to “语法”"></a></h2><p>与 CSS 类似, 一个选择器由 属性选择器 和 关系选择器 交叉组成, 并且开头末尾必须是 属性选择器</p><p>示例 <code>div > img</code> 的结构是 <code>属性选择器 关系选择器 属性选择器</code>, 它表示选择父节点是 <code>div</code> 的 <code>img</code> 节点, 这与 <a href="https://developer.mozilla.org/zh-CN/docs/Web/CSS/Child_combinator" target="_blank" rel="noreferrer">相同 CSS 语法</a> 语义一致</p><p>另外 属性选择器 和 关系选择器 之间必须<strong>强制</strong>用 空白字符(空格/换行/回车/制表) 隔开</p><p>即 <code>div>img</code> 非法, 必须写成 <code>div > img</code></p><p>下面分别介绍 <a href="#attr">属性选择器</a> 和 <a href="#connect">关系选择器</a></p><h2 id="attr" tabindex="-1">属性选择 <a class="header-anchor" href="#attr" aria-label="Permalink to “属性选择”"></a></h2><p>它和 CSS 语法的 属性选择器很相似, 但更强大, 如下是一个示例</p><p><code>@TextView[a=1][b^='2'][c*='a'||d.length>7&&e=false][!(f=true)][g.plus(1)>0]</code></p><p><code>@</code> 表示选择此节点, 一条规则最后属性选择器 <code>@</code> 生效, 如果没有 <code>@</code>, 取最后一个属性选择器</p><p><code>TextView</code> 代表节点的 name 属性, 而且与 CSS 相似, <code>*</code> 表示匹配任意属性</p><p>由于该选择器主要用于 Android 平台, 节点的 name 都是 java 类如 android.text.TextView 这种形式</p><p>为了方便书写规则, 上述 <code>TextView</code> 等价 <code>[name='TextView'||name$='.TextView']</code></p><p><code>[]</code> 内部是一个 逻辑表达式/布尔表达式/取反表达式</p><ul><li>逻辑表达式 -> <code>name='TextView'||name$='.TextView'</code></li><li>布尔表达式 -> <code>name='TextView'</code></li><li>取反表达式 -> <code>!(name$='TextView')</code>, <code>!(name='TextView'||name$='.TextView')</code></li></ul><p>注意 取反表达式中的 <code>!</code> 后面必须是 <code>(...)</code>, <code>!!(...)</code> 是非法的</p><p>逻辑表达式 有两个操作符 <code>||</code> 和 <code>&&</code>. <code>&&</code> 优先级更高</p><p>即 <code>[a>1||b>1&&c>1||d>1]</code> 等价于 <code>[a>1||(b>1&&c>1)||d>1]</code></p><p>并列的 <code>[]</code> 视为使用 <code>&&</code> 的逻辑表达式, 即 <code>[a=1][b=1]</code> 等价于 <code>[a=1&&b=1]</code></p><p>布尔表达式 由 <code>左值 操作符 右值</code> 构成, 左值/右值 是一个 值表达式</p><p>下面分别介绍 <a href="#value-exp">值表达式</a> 和 <a href="#attr-operator">操作符</a></p><h2 id="value-exp" tabindex="-1">值表达式 <a class="header-anchor" href="#value-exp" aria-label="Permalink to “值表达式”"></a></h2><p>值表达式分两类: 变量 和 字面量, 下图是关系表格</p>`,32)),c[17]||(c[17]=i(`table`,null,[i(`thead`,null,[i(`tr`,null,[i(`th`,{colspan:`2`},[i(`div`,{"text-center":``},`值表达式`)]),i(`th`,null,`示例`)])]),i(`tbody`,null,[i(`tr`,null,[i(`td`,{rowspan:`3`},`变量`),i(`td`,null,`标识符`),i(`td`,null,[i(`code`,null,` a `)])]),i(`tr`,null,[i(`td`,null,`成员表达式`),i(`td`,null,[i(`code`,null,`a.b`)])]),i(`tr`,null,[i(`td`,null,`调用表达式`),i(`td`,null,[i(`code`,null,`a(b,c)`)])]),i(`tr`,null,[i(`td`,{rowspan:`4`},`字面量`),i(`td`,null,`null`),i(`td`,null,[i(`code`,null,`null`)])]),i(`tr`,null,[i(`td`,null,`boolean`),i(`td`,null,[i(`code`,null,`false`)])]),i(`tr`,null,[i(`td`,null,`int`),i(`td`,null,[i(`code`,null,`114514`)])]),i(`tr`,null,[i(`td`,null,`string`),i(`td`,null,[i(`code`,null,`'ikun'`)])])])],-1)),c[18]||(c[18]=o(`<p>每个值表达式都有其类型, 可细分为两类</p><p>基础类型: <code>null</code> <code>boolean</code> <code>int</code> <code>string</code></p><p>对象类型: <code>object</code></p><p>对象类型可细分为 <code>context</code> 和 <code>node</code> 两种类型</p><p>比如选择器 <code>[parent=null]</code> 代表选择一个父节点是 null 的节点, 即根节点</p><p>上面的 <code>parent</code> 属于 值表达式/变量/标识符, 类型是 <code>node</code></p><p><code>context</code> 类型指代当前节点的上下文, 当想使用不属于 <code>node</code> 上的属性方法时就需要 <code>context</code></p><p>你可以在 <a href="./node">选择器-属性方法</a> 查看所有类型和对应属性方法</p><h3 id="var" tabindex="-1">变量 <a class="header-anchor" href="#var" aria-label="Permalink to “变量”"></a></h3><p>首先需要了解 <strong>标识符</strong>: 正则匹配 <code>^[_a-zA-Z][a-zA-Z0-9_]*$</code> 并且不是 <code>null</code>/<code>true</code>/<code>false</code> 的字符串</p><p>示例合法变量名: <code>a</code> <code>ikun</code> <code>manbaout</code>, 下面可输入字符测试否是合法</p>`,11)),i(`div`,u,[n(b)]),c[19]||(c[19]=o('<hr><p>接下来了解 <strong>成员表达式</strong> <code>a.b</code>, 它被 <code>.</code> 分为两个部分, 前部分是另一个变量, 后部分是一个标识符作为属性</p><p>同理 <code>a.b.c</code> 也是一个 成员表达式, 其中 <code>a.b</code> 是它的变量部分, <code>c</code> 是一个合法的标识符作为属性</p><p>根据上面标识符的规则, <code>a.1</code>, <code>a.null</code>, <code>a.true</code> 都是非法成员表达式</p><hr><p>最后了解 <strong>调用表达式</strong> <code>a(b,c)</code>, 它由两个部分构成, <code>(</code> 的左侧 <code>a</code> 是一个变量作为 调用者</p><p><code>(b,c)</code> 作为调用参数(值类型), 调用参数数量可以是 0 或任意个, 即 <code>a()</code> 也是合法的</p><p>合法的其它例子: <code>a.b(c,d).e(f).g(1,2,true)</code></p><p>需要注意调用者不能是 调用表达式, 即 <code>a()()</code> 非法</p><h3 id="literal" tabindex="-1">字面量 <a class="header-anchor" href="#literal" aria-label="Permalink to “字面量”"></a></h3><p>根据上面的表格, 字面量有 4 种: <code>null</code>, <code>boolean</code>, <code>int</code>, <code>string</code></p><ul><li>null</li><li>boolean 使用 <code>true</code>/<code>false</code></li><li>int 匹配 <code>^-?[0-9]$</code>, 即十进制整数, 示例 <code>-1</code>,<code>0</code>,<code>1</code>, 不支持 <code>+1</code> 这种写法</li><li>string 使用 ' ` " 之一成对包裹, 内部字符转义使用 <code>\\</code><br> 所有的转义字符示例 <code>\\\\</code>, <code>\\'</code>, <code>\\"</code>, <code>\\`</code>, <code>\\n</code>, <code>\\r</code>, <code>\\t</code>, <code>\\b</code>, <code>\\xfF</code>, <code>\\uffFF</code><br> 不支持多行字符, 处于 <code>[0, 0x1F]</code> 的控制字符必须使用转义字符表示</li></ul><p>此外使用 string 时需要了解 <a href="#nest-escape">嵌套转义字符</a> 以避免出现错误</p><h2 id="attr-operator" tabindex="-1">操作符 <a class="header-anchor" href="#attr-operator" aria-label="Permalink to “操作符”"></a></h2><p>操作符 用于连接两个 值表达式</p><table tabindex="0"><thead><tr><th style="text-align:center;">操作符</th><th style="text-align:center;">名称</th><th style="text-align:center;">说明</th></tr></thead><tbody><tr><td style="text-align:center;">=</td><td style="text-align:center;">equal</td><td style="text-align:center;">等于</td></tr><tr><td style="text-align:center;">!=</td><td style="text-align:center;">notEqual</td><td style="text-align:center;">不等于</td></tr><tr><td style="text-align:center;">></td><td style="text-align:center;">more</td><td style="text-align:center;">大于</td></tr><tr><td style="text-align:center;">>=</td><td style="text-align:center;">moreEqual</td><td style="text-align:center;">大于或等于</td></tr><tr><td style="text-align:center;"><</td><td style="text-align:center;">less</td><td style="text-align:center;">小于</td></tr><tr><td style="text-align:center;"><=</td><td style="text-align:center;">lessEqual</td><td style="text-align:center;">小于或等于</td></tr><tr><td style="text-align:center;">^=</td><td style="text-align:center;">startsWith</td><td style="text-align:center;">以...开头</td></tr><tr><td style="text-align:center;">!^=</td><td style="text-align:center;">notStartsWith</td><td style="text-align:center;">不以...开头</td></tr><tr><td style="text-align:center;">*=</td><td style="text-align:center;">contains</td><td style="text-align:center;">包含...</td></tr><tr><td style="text-align:center;">!*=</td><td style="text-align:center;">notContains</td><td style="text-align:center;">不包含...</td></tr><tr><td style="text-align:center;">$=</td><td style="text-align:center;">endsWith</td><td style="text-align:center;">以...结尾</td></tr><tr><td style="text-align:center;">!$=</td><td style="text-align:center;">notEndsWith</td><td style="text-align:center;">不以...结尾</td></tr><tr><td style="text-align:center;">~=</td><td style="text-align:center;">matches</td><td style="text-align:center;">正则匹配...</td></tr><tr><td style="text-align:center;">!~=</td><td style="text-align:center;">notMatches</td><td style="text-align:center;">正则不匹配...</td></tr></tbody></table><p>附加说明: <code>matches</code>/<code>notMatches</code> 要求值必须是当前运行平台支持的 <a href="https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.text/-regex/" target="_blank" rel="noreferrer">Kotlin 正则表达式</a>, 否则提示语法错误。跨平台差异见下文的<a href="#regex-multiplatform">正则表达式一致性</a></p><p>并且 <code>matches</code>/<code>notMatches</code> 右侧的值只能是 字面量/字符串</p><p>操作符只能使用在对应的类型的值, 比如 <code>a>''</code> 类型不匹配, 将提示 <code>非法类型</code></p><p>下面表格中 <code>-</code> 表示类型不匹配</p><table tabindex="0"><thead><tr><th style="text-align:center;"></th><th style="text-align:center;">null</th><th style="text-align:center;">boolean</th><th style="text-align:center;">int</th><th style="text-align:center;">string</th></tr></thead><tbody><tr><td style="text-align:center;">=</td><td style="text-align:center;">✔</td><td style="text-align:center;">✔</td><td style="text-align:center;">✔</td><td style="text-align:center;">✔</td></tr><tr><td style="text-align:center;">!=</td><td style="text-align:center;">✔</td><td style="text-align:center;">✔</td><td style="text-align:center;">✔</td><td style="text-align:center;">✔</td></tr><tr><td style="text-align:center;">></td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td><td style="text-align:center;">-</td></tr><tr><td style="text-align:center;">>=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td><td style="text-align:center;">-</td></tr><tr><td style="text-align:center;"><</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td><td style="text-align:center;">-</td></tr><tr><td style="text-align:center;"><=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td><td style="text-align:center;">-</td></tr><tr><td style="text-align:center;">^=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td></tr><tr><td style="text-align:center;">!^=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td></tr><tr><td style="text-align:center;">*=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td></tr><tr><td style="text-align:center;">!*=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td></tr><tr><td style="text-align:center;">$=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td></tr><tr><td style="text-align:center;">!$=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td></tr><tr><td style="text-align:center;">~=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td></tr><tr><td style="text-align:center;">!~=</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">-</td><td style="text-align:center;">✔</td></tr></tbody></table><p>除 <code>=</code>/<code>!=</code> 以外的操作符, 当节点属性是 null 时表达式为 <code>false</code></p><ul><li>a > 233</li><li>a >= 233</li><li>a < 233</li><li>a <= 233</li><li>a ^= 'xxx'</li><li>a !^= 'xxx'</li><li>a *= 'xxx'</li><li>a !* 'xxx'</li><li>a $= 'xxx'</li><li>a !$= 'xxx'</li><li>a ~= 'xxx'</li><li>a !~= 'xxx'</li></ul><p>即当 a 是 <code>null</code> 时以上表达式为 <code>false</code></p><p>你可能会对 <code>a !$= 'xxx'</code> 在 a 是 <code>null</code> 表达式为 <code>false</code> 感到奇怪</p><p>那你可以换一种写法使用 <code>a=null || a!$='xxx'</code> 或 <code>!(a$='xxx')</code></p><h2 id="connect" tabindex="-1">关系选择 <a class="header-anchor" href="#connect" aria-label="Permalink to “关系选择”"></a></h2><p>关系选择器 由 关系操作符 和 关系表达式 构成, 用于连接两个属性选择器</p><p>简单示例: <code>div > a</code>, 它 表示/约束 两个节点之间的关系, 下面介绍 <a href="#connect-operator">关系操作符</a> 和 <a href="#connect-exp">关系表达式</a></p><h3 id="connect-exp" tabindex="-1">关系表达式 <a class="header-anchor" href="#connect-exp" aria-label="Permalink to “关系表达式”"></a></h3><p>关系表达式 表示查找节点的范围, 有两种</p><ul><li>元组表达式 <code>(a1,a2,a3,a_n)</code>, 其中 a1, a2, a3, a_n 是常量有序递增正整数, 示例 <code>(1)</code>, <code>(2,3,5)</code></li><li>多项式表达式 <code>(an+b)</code>, 其中 a 和 b 是常量整数, 它是元组表达式的另一种表示, 这个元组的数满足集合 <code>{an+b|an+b>=1,n>=1}</code> 如果集合为空集则表达式非法<br> 当 a<=0 时, 它具有等价的元组表达式<br> 示例 <code>(-n+4)</code> 等价于 <code>(1,2,3)</code><br> 示例 <code>(-3n+10)</code> 等价于 <code>(1,4,7)</code><br> 当 a>0 时, 它表示无限的元组表达式<br> 示例 <code>(n)</code>, 它表示 <code>(1,2,3,...)</code> 一个无限的元组<br> 示例 <code>(2n-1)</code>, 它表示 <code>(1,3,5,...)</code> 一个无限的元组</li></ul><h3 id="connect-operator" tabindex="-1">关系操作符 <a class="header-anchor" href="#connect-operator" aria-label="Permalink to “关系操作符”"></a></h3><p>关系操作符 表示查找节点的方向, 有 6 种关系操作符</p><ul><li>前 5 种为 <code>+</code>, <code>-</code>, <code>></code>, <code><</code>, <code><<</code>, 表示节点的相对位置</li></ul>',35)),n(S,null,{default:r(()=>[i(`table`,d,[c[15]||(c[15]=i(`thead`,null,[i(`tr`,null,[i(`th`,{style:{"text-align":`center`}},`操作符`),i(`th`,{style:{"text-align":`center`}},`名称`),i(`th`,{style:{"text-align":`center`}},`图例`),i(`th`,{style:{"text-align":`center`}},`选择器`)])],-1)),i(`tbody`,null,[i(`tr`,null,[c[0]||(c[0]=i(`td`,{style:{"text-align":`center`}},`+`,-1)),c[1]||(c[1]=i(`td`,{style:{"text-align":`center`}},`前置兄弟节点`,-1)),i(`td`,f,[n(x,{src:`0020.png`,"w-250px":``})]),c[2]||(c[2]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiArIFtfaWQ9MzNd`,target:`_blank`,rel:`noreferrer`},`* + [_id=33]`)],-1))]),i(`tr`,null,[c[3]||(c[3]=i(`td`,{style:{"text-align":`center`}},`-`,-1)),c[4]||(c[4]=i(`td`,{style:{"text-align":`center`}},`后置兄弟节点`,-1)),i(`td`,p,[n(x,{src:`0021.png`,"w-250px":``})]),c[5]||(c[5]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiAtIFtfaWQ9MzJd`,target:`_blank`,rel:`noreferrer`},`* - [_id=32]`)],-1))]),i(`tr`,null,[c[6]||(c[6]=i(`td`,{style:{"text-align":`center`}},`>`,-1)),c[7]||(c[7]=i(`td`,{style:{"text-align":`center`}},`祖先节点`,-1)),i(`td`,m,[n(x,{src:`0022.png`,"w-250px":``})]),c[8]||(c[8]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiA-IFtfaWQ9OTBd`,target:`_blank`,rel:`noreferrer`},`* > [_id=90]`)],-1))]),i(`tr`,null,[c[9]||(c[9]=i(`td`,{style:{"text-align":`center`}},`<`,-1)),c[10]||(c[10]=i(`td`,{style:{"text-align":`center`}},`直接子节点`,-1)),i(`td`,h,[n(x,{src:`0023.png`,"w-250px":``})]),c[11]||(c[11]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiA8IFtfaWQ9ODld`,target:`_blank`,rel:`noreferrer`},`* < [_id=89]`)],-1))]),i(`tr`,null,[c[12]||(c[12]=i(`td`,{style:{"text-align":`center`}},`<<`,-1)),c[13]||(c[13]=i(`td`,{style:{"text-align":`center`}},`子孙节点(深度先序)`,-1)),i(`td`,g,[n(x,{src:`0024.png`,"w-250px":``})]),c[14]||(c[14]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiA8PDIgW19pZD0yOV0`,target:`_blank`,rel:`noreferrer`},`* <<2 [_id=29]`)],-1))])])])]),_:1}),c[20]||(c[20]=o('<ul><li>另外一种为 <code>-></code>, 用于查询过程中, 表示当前节点的之前节点</li></ul><p>比如 <code>C ->1 B > A</code>, 由 A 找到 B 后, 此时的 C 就是 B 的之前节点即 A, 这适合想快速去之前节点重新查询关系的场景</p><p>将 关系操作符 和 关系表达式 连接起来就得到了 关系选择器</p><p><code>A +(a1,a2,a3,a_n) B</code> : A 是 B 的前置兄弟节点, 并且 A.index 满足 B.index-(a_m), 其中 a_m 是元组的任意一个数字</p><p><code>A -(a1,a2,a3,a_n) B</code> : A 是 B 的后置兄弟节点, 并且 A.index 满足 B.index+(a_m)</p><p><code>A >(a1,a2,a3,a_n) B</code> : A 是 B 的祖先节点, 并且 A.depth 满足 B.depth-(a_m), 根节点的 depth=0</p><p><code>A <(a1,a2,a3,a_n) B</code> : A 是 B 的直接子节点, 并且 A.index 满足 a_m-1</p><p><code>A <<(a1,a2,a3,a_n) B</code> : A 是 B 的子孙节点, 并且 A.order 满足 a_m-1, A.order 是深度优先先序遍历的索引</p><p><code>N ->(a1,a2,a3,a_n) B > A</code>, N 是 B 的之前(右侧)的已查询节点, 并且 N.index 满足 B.index-(a_m), index 顺序为 (n,n-1,...,2,1,0)</p><h3 id="connect-shortcut" tabindex="-1">表达式简写 <a class="header-anchor" href="#connect-shortcut" aria-label="Permalink to “表达式简写”"></a></h3><p>一般情况下, 并不需要写严格完整的表达式, 使用简化写法更方便快捷</p><p>下面是一些特殊情况下的简写表示</p><p>当 a=0 或 b=0 时, 括号可以省略, 以 <code>+</code> 为例</p><ul><li><code>A +(3n+0) B</code> -> <code>A +(3n) B</code> -> <code>A +3n B</code></li><li><code>A +(0n+3) B</code> -> <code>A +(+3) B</code> -> <code>A +3 B</code></li></ul><p>当 a=0 且 b=1 时, an+b 可以省略, 以 <code>+</code> 为例</p><ul><li><code>A +(0n+1) B</code> -> <code>A + B</code></li></ul><p>此外 <code>A + B</code>,<code>A > B</code> 都与等价的 CSS 语法语义相同</p><p>当 a=1 且 b=0 且操作符是 <code>></code>, 可以进一步简写, 比如</p><ul><li><code>A >(1n+0) B</code> -> <code>A >n B</code> -> <code>A B</code></li></ul><p>这与等价的 CSS 语法语义相同</p><h2 id="advanced" tabindex="-1">进阶 <a class="header-anchor" href="#advanced" aria-label="Permalink to “进阶”"></a></h2><p>正如上述的 <a href="#attr">属性选择</a> 一样, 选择器也可以组合为 逻辑表达式/取反表达式</p><p>只有一个格式要求: 单个选择器必须强制使用 <code>()</code> 包裹</p><ul><li><p>一般选择器 -> <code>A + B</code> 或 <code>(A + B)</code></p></li><li><p>逻辑或表达式 -> <code>(A + B) || (M > N)</code>, 表示匹配节点满足 <code>A + B</code> 或 <code>M > N</code></p><p>匹配结果遵循 <code>||</code> 的短路原则, 优先判断左侧的 <code>A + B</code>, 如果满足 <code>A + B</code> 那就是 <code>B</code>. 不满足 <code>A + B</code> 时, 判断右侧表达式, 如果满足 <code>M > N</code> 那就是 <code>N</code>, 当然也可以在内部使用 <code>@</code> 自定义目标节点</p></li><li><p>逻辑且表达式 -> <code>(A + B) && (M > N)</code>, 表示匹配节点满足 <code>A + B</code> 和 <code>M > N</code>, 结果取右侧表达式结果, 结果为 <code>N</code>, 当然也可以在内部使用 <code>@</code> 自定义目标节点</p></li><li><p>取反表达式 -> <code>!(A + B)</code>, 表示匹配节点应不满足 <code>A + B</code>, 需要注意的是 <code>!(@A + B)</code> 中的 <code>@</code> 是无效的, 它的匹配结果只能是末尾节点 <code>B</code></p></li></ul><p>此外 逻辑且表达式 的优先级更高, 即 <code>(A + B) || (C + B) && (M > N)</code> 等价于 <code>(A + B) || ((C + B) && (M > N))</code></p><h2 id="example" tabindex="-1">示例 <a class="header-anchor" href="#example" aria-label="Permalink to “示例”"></a></h2><div class="language-txt"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>@LinearLayout > TextView[id=`com.byted.pangle:id/tt_item_tv`][text=`不感兴趣`]</span></span></code></pre></div><p>选择器从末尾开始查找, 首先找到 id=`com.byted.pangle:id/tt_item_tv` 和 text=`不感兴趣` 的 TextView, 并且父节点是 LinearLayout 的节点</p><p>此时我们得到两个节点 [LinearLayout, TextView] 根据 <code>@</code> 知道目标节点是 LinearLayout</p><p>实际上它与</p><div class="language-txt"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>TextView[id=`com.byted.pangle:id/tt_item_tv`][text=`不感兴趣`] <n LinearLayout</span></span></code></pre></div><p>的目标匹配节点是等价的, 但是在查询算法时间复杂度上, 后者更慢</p><p>如下是网页无障碍快照审查工具, 使用它的搜索框的选择器查询可以实时测试编写的选择器</p><ul><li><a href="https://i.gkd.li/i/14045424" target="_blank" rel="noreferrer">快照-14045424</a></li><li><a href="https://i.gkd.li/i/14034770" target="_blank" rel="noreferrer">快照-14034770</a></li><li><a href="https://i.gkd.li/i/14031920" target="_blank" rel="noreferrer">快照-14031920</a></li><li><a href="https://i.gkd.li/i/14018243" target="_blank" rel="noreferrer">快照-14018243</a></li><li><a href="https://i.gkd.li/i/14011298" target="_blank" rel="noreferrer">快照-14011298</a></li><li><a href="https://i.gkd.li/i/13999908" target="_blank" rel="noreferrer">快照-13999908</a></li></ul><h2 id="note" tabindex="-1">一些注意 <a class="header-anchor" href="#note" aria-label="Permalink to “一些注意”"></a></h2><h3 id="match-order" tabindex="-1">匹配顺序 <a class="header-anchor" href="#match-order" aria-label="Permalink to “匹配顺序”"></a></h3><p>选择器的匹配顺序是 <strong>从右往左匹配</strong></p><p>例如 <code>FrameLayout > TextView</code>, 它是先从 根节点/事件节点 找到 <code>TextView</code>, 然后再判断 parent 是不是 <code>FrameLayout</code></p><p>并不是先找到 <code>FrameLayout</code> 然后再判断 child 是否有 <code>TextView</code></p><p>同时在 <a href="https://i.gkd.li/i/15747758?gkd=RnJhbWVMYXlvdXQgPiBUZXh0Vmlldw" target="_blank" rel="noreferrer">选择器路径视图</a> 也会标明匹配顺序和查找方向</p><h3 id="regex-optimization" tabindex="-1">正则表达式优化 <a class="header-anchor" href="#regex-optimization" aria-label="Permalink to “正则表达式优化”"></a></h3><p>对 <code>matches</code>/<code>notMatches</code> 的优化:如果正则表达式满足下面的条件,选择器将优先使用内置的简单函数匹配</p><ul><li><code>[text~="(?is)abc.*"]</code> -> ASCII 忽略大小写的 <code>startsWith('abc')</code></li><li><code>[text~="(?is).*abc.*"]</code> -> ASCII 忽略大小写的 <code>contains('abc')</code></li><li><code>[text~="(?is).*abc"]</code> -> ASCII 忽略大小写的 <code>endsWith('abc')</code></li><li><code>[text!~="(?is)abc.*"]</code> -> ASCII 忽略大小写的 <code>notStartsWith('abc')</code></li><li><code>[text!~="(?is).*abc.*"]</code> -> ASCII 忽略大小写的 <code>notContains('abc')</code></li><li><code>[text!~="(?is).*abc"]</code> -> ASCII 忽略大小写的 <code>notEndsWith('abc')</code></li></ul><p>上面的 <code>abc</code> 指代不包含 <code>\\^$.?*|+()[]{}</code> 这类特殊正则字符,且所有具有大小写形式的字符均属于 ASCII 的任意字符串。例如 <code>ikun</code> 和 <code>a你b好c</code> 符合,<code>äbc</code>、<code>ikun?</code> 不符合。没有大小写形式的 Unicode 字符会按原字符精确比较</p><p>运行时只有能够确定结果时才使用快速匹配;如果输入涉及 <code>K</code>、<code>ſ</code> 等非 ASCII 大小写折叠,选择器会回退到当前平台的正则实现,保证优化不会改变该平台原有的匹配结果</p><p>如果只需要忽略大小写并进行简单的开头、包含或结尾匹配,可以直接使用上面的格式</p><h3 id="regex-multiplatform" tabindex="-1">正则表达式一致性 <a class="header-anchor" href="#regex-multiplatform" aria-label="Permalink to “正则表达式一致性”"></a></h3><p>Android/JVM 使用 Kotlin <code>Regex</code>(Java <code>Pattern</code>),浏览器和 Node.js 使用 <a href="https://www.npmjs.com/package/regex-wasm" target="_blank" rel="noreferrer"><code>regex-wasm</code></a> 提供的 Kotlin/Wasm <code>Regex</code>。</p><p>JVM 与 Wasm 对少数 JVM 专用字符类、Unicode 字符类和边界行为的支持可能不同。跨平台规则应避免 JVM 专用语法,并在两端分别验证。</p><div class="important custom-block github-alert"><p class="custom-block-title">运行环境要求</p><p>JS 包会在导入时初始化 <code>regex-wasm</code>,因此运行环境必须支持 <a href="https://developer.chrome.com/blog/wasmgc?hl=zh-cn" target="_blank" rel="noreferrer">WebAssembly GC</a>,即使只调用 <code>Selector.tokenize</code> 进行语法高亮也不例外。请使用 Node.js 22 或更高版本,或支持 WebAssembly GC 的新版浏览器。</p></div><h3 id="nest-escape" tabindex="-1">嵌套转义字符 <a class="header-anchor" href="#nest-escape" aria-label="Permalink to “嵌套转义字符”"></a></h3><p>转义字符一般用于表示不能直接显示具体特殊意义的字符</p><p>对于 GKD 的选择器而言, 转义字符使用示例如下</p><div class="language-txt"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>TextView[text="\\\\\\n"]</span></span></code></pre></div><p>这表示选择一个 TextView, 它的 text 长度为 2, 开头是 <code>\\</code>, 末尾是换行</p><p>这和平常写的代码里面的 string 声明用法一模一样</p><p>但是选择器最终放在规则的字段里面, 也就是这个选择器字符串处于 JSON 的 string 内</p><p>如果你想当然地直接手动复制插入到编辑器里出现下面这种规则</p><div class="language-json5"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">json5</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>\n<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> matches</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'TextView[text="</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\\\\\n</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"]'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>由于 JSON 也有自己的转义, 规则与 GKD 的转义基本一致, 因此你的实际选择器实际变成了</p><div class="language-txt"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>TextView[text="\\</span></span>\n<span class="line"><span>"]</span></span></code></pre></div><p>这明显是一个非法的选择器</p><p>解决方式也很简单, 手动插入的时候将你的 <code>\\</code> 变成 <code>\\\\</code>, 正确的规则如下</p><div class="language-json5"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">json5</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>\n<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> matches</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'TextView[text="</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\\\\\\\\\\\</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">n"]'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>这是普通字符串的情况, 如果你使用 <code>~=</code>/<code>!~=</code>, 则还需要多转义一次, 因为正则表达式也有自己的转义字符</p><p>比如我们想匹配一个 TextView 并且 text 是任意一个数字, 我们想当然地用 <code>\\d</code>, 所以你可能会写</p><div class="language-txt"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>TextView[text~="\\d"]</span></span></code></pre></div><p>但是你在网页审查工具输入并回车搜索会提示 非法选择器, 这是因为 <code>\\d</code> 处于 GKD 的 string 内, 会被转义一次, 正确的用法是写 <code>\\\\d</code></p><div class="language-txt"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>TextView[text~="\\\\d"]</span></span></code></pre></div><p>实际上这部分等价的 Kotlin/Java 代码可以简单是</p><div class="language-txt"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">txt</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>Regex("\\\\d").matches(text)</span></span></code></pre></div><p>接下来把选择器放到规则里面, 根据上面的描述, 规则应该是</p><div class="language-json5"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">json5</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>\n<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> matches</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'TextView[text~="</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\\\\\\\</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">d"]'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>如果想用正则匹配一个 <code>\\</code> 字符, 最终规则应该写成</p><div class="language-json5"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">json5</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>\n<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> matches</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'TextView[text~="</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\\\\\\\\\\\\\\\</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"]'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>实现和上面相同的结果, 即用 <code>=</code> 匹配一个 <code>\\</code> 字符, 最终规则应该写成</p><div class="language-json5"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">json5</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>\n<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> matches</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">'TextView[text="</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\\\\\\\</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"]'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>\n<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>类似的问题 <a href="https://github.com/gkd-kit/gkd/issues/603" target="_blank" rel="noreferrer">gkd-kit/gkd#603</a></p>',78))])}var v=a(l,[[`render`,_]]);export{c as __pageData,v as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,at as t,ct as n,jt as r,nt as i,o as a,ot as o,yt as s}from"./chunks/framework.bo_0njjP.js";var c=JSON.parse(`{"title":"选择器","description":"","frontmatter":{},"headers":[],"relativePath":"guide/selector.md","filePath":"guide/selector.md","lastUpdated":1792029959000}`),l={name:`guide/selector.md`},u={class:`vp-raw`},d={tabindex:`0`},f={style:{"text-align":`center`}},p={style:{"text-align":`center`}},m={style:{"text-align":`center`}},h={style:{"text-align":`center`}},g={style:{"text-align":`center`}};function _(a,c,l,_,v,y){let b=e(`GkIdentifierField`),x=e(`GkImage`),S=e(`GkImagePreviewGroup`);return s(),t(`div`,null,[c[16]||(c[16]=o("",32)),c[17]||(c[17]=i(`table`,null,[i(`thead`,null,[i(`tr`,null,[i(`th`,{colspan:`2`},[i(`div`,{"text-center":``},`值表达式`)]),i(`th`,null,`示例`)])]),i(`tbody`,null,[i(`tr`,null,[i(`td`,{rowspan:`3`},`变量`),i(`td`,null,`标识符`),i(`td`,null,[i(`code`,null,` a `)])]),i(`tr`,null,[i(`td`,null,`成员表达式`),i(`td`,null,[i(`code`,null,`a.b`)])]),i(`tr`,null,[i(`td`,null,`调用表达式`),i(`td`,null,[i(`code`,null,`a(b,c)`)])]),i(`tr`,null,[i(`td`,{rowspan:`4`},`字面量`),i(`td`,null,`null`),i(`td`,null,[i(`code`,null,`null`)])]),i(`tr`,null,[i(`td`,null,`boolean`),i(`td`,null,[i(`code`,null,`false`)])]),i(`tr`,null,[i(`td`,null,`int`),i(`td`,null,[i(`code`,null,`114514`)])]),i(`tr`,null,[i(`td`,null,`string`),i(`td`,null,[i(`code`,null,`'ikun'`)])])])],-1)),c[18]||(c[18]=o("",11)),i(`div`,u,[n(b)]),c[19]||(c[19]=o("",35)),n(S,null,{default:r(()=>[i(`table`,d,[c[15]||(c[15]=i(`thead`,null,[i(`tr`,null,[i(`th`,{style:{"text-align":`center`}},`操作符`),i(`th`,{style:{"text-align":`center`}},`名称`),i(`th`,{style:{"text-align":`center`}},`图例`),i(`th`,{style:{"text-align":`center`}},`选择器`)])],-1)),i(`tbody`,null,[i(`tr`,null,[c[0]||(c[0]=i(`td`,{style:{"text-align":`center`}},`+`,-1)),c[1]||(c[1]=i(`td`,{style:{"text-align":`center`}},`前置兄弟节点`,-1)),i(`td`,f,[n(x,{src:`0020.png`,"w-250px":``})]),c[2]||(c[2]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiArIFtfaWQ9MzNd`,target:`_blank`,rel:`noreferrer`},`* + [_id=33]`)],-1))]),i(`tr`,null,[c[3]||(c[3]=i(`td`,{style:{"text-align":`center`}},`-`,-1)),c[4]||(c[4]=i(`td`,{style:{"text-align":`center`}},`后置兄弟节点`,-1)),i(`td`,p,[n(x,{src:`0021.png`,"w-250px":``})]),c[5]||(c[5]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiAtIFtfaWQ9MzJd`,target:`_blank`,rel:`noreferrer`},`* - [_id=32]`)],-1))]),i(`tr`,null,[c[6]||(c[6]=i(`td`,{style:{"text-align":`center`}},`>`,-1)),c[7]||(c[7]=i(`td`,{style:{"text-align":`center`}},`祖先节点`,-1)),i(`td`,m,[n(x,{src:`0022.png`,"w-250px":``})]),c[8]||(c[8]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiA-IFtfaWQ9OTBd`,target:`_blank`,rel:`noreferrer`},`* > [_id=90]`)],-1))]),i(`tr`,null,[c[9]||(c[9]=i(`td`,{style:{"text-align":`center`}},`<`,-1)),c[10]||(c[10]=i(`td`,{style:{"text-align":`center`}},`直接子节点`,-1)),i(`td`,h,[n(x,{src:`0023.png`,"w-250px":``})]),c[11]||(c[11]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiA8IFtfaWQ9ODld`,target:`_blank`,rel:`noreferrer`},`* < [_id=89]`)],-1))]),i(`tr`,null,[c[12]||(c[12]=i(`td`,{style:{"text-align":`center`}},`<<`,-1)),c[13]||(c[13]=i(`td`,{style:{"text-align":`center`}},`子孙节点(深度先序)`,-1)),i(`td`,g,[n(x,{src:`0024.png`,"w-250px":``})]),c[14]||(c[14]=i(`td`,{style:{"text-align":`center`}},[i(`a`,{href:`https://i.gkd.li/i/14045424?gkd=KiA8PDIgW19pZD0yOV0`,target:`_blank`,rel:`noreferrer`},`* <<2 [_id=29]`)],-1))])])])]),_:1}),c[20]||(c[20]=o("",78))])}var v=a(l,[[`render`,_]]);export{c as __pageData,v as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,at as t,ct as n,jt as r,nt as i,o as a,ot as o,st as s,yt as c}from"./chunks/framework.bo_0njjP.js";var l=JSON.parse(`{"title":"快照审查","description":"","frontmatter":{},"headers":[],"relativePath":"guide/snapshot.md","filePath":"guide/snapshot.md","lastUpdated":1792029959000}`),u={name:`guide/snapshot.md`};function d(a,l,u,d,f,p){let m=e(`GkImage`),h=e(`GkImagePreviewGroup`);return c(),t(`div`,null,[l[12]||(l[12]=o("",44)),i(`ul`,null,[l[1]||(l[1]=i(`li`,null,[s(`在浏览器打开 `),i(`a`,{href:`https://github.com`,target:`_blank`,rel:`noreferrer`},`Github`),s(` 登录账号`)],-1)),l[2]||(l[2]=i(`li`,null,[s(`在 `),i(`a`,{href:`https://github.com`,target:`_blank`,rel:`noreferrer`},`https://github.com`),s(` 使用 f12 打开调试面板, 选中 网络-文档 后按 f5 刷新页面, 会出来一条 `),i(`code`,null,`github.com`),s(` 的记录`)],-1)),i(`li`,null,[l[0]||(l[0]=s(`点击这条记录, 选中 标头-请求标头-Cookie 的右侧文字, 按下 Ctrl+C 复制即可`,-1)),n(m,{src:`0034.png`})]),l[3]||(l[3]=i(`li`,null,`复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可`,-1))]),l[13]||(l[13]=i(`h3`,{id:`get-cookie-on-phone`,tabindex:`-1`},[s(`在手机上获取 `),i(`a`,{class:`header-anchor`,href:`#get-cookie-on-phone`,"aria-label":`Permalink to “在手机上获取”`},``)],-1)),i(`ul`,null,[l[9]||(l[9]=i(`li`,null,[s(`下载安装 `),i(`a`,{href:`https://viayoo.com`,target:`_blank`,rel:`noreferrer`},`Via`),s(` 浏览器`)],-1)),l[10]||(l[10]=i(`li`,null,[s(`在浏览器打开 `),i(`a`,{href:`https://github.com`,target:`_blank`,rel:`noreferrer`},`Github`),s(` 登录账号`)],-1)),i(`li`,null,[l[5]||(l[5]=s(`点击顶部地址栏左侧的图标, 在出现的菜单中点击 `,-1)),l[6]||(l[6]=i(`code`,null,`查看 Cookies`,-1)),l[7]||(l[7]=s(`, 出现的弹窗后点击 `,-1)),l[8]||(l[8]=i(`code`,null,`复制文本`,-1)),n(h,null,{default:r(()=>[n(m,{src:`0035.png`,class:`w-[45%]`}),l[4]||(l[4]=s()),n(m,{src:`0036.png`,class:`w-[45%]`})]),_:1})]),l[11]||(l[11]=i(`li`,null,`复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可`,-1))]),l[14]||(l[14]=o("",13))])}var f=a(u,[[`render`,d]]);export{l as __pageData,f as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,at as t,ct as n,jt as r,nt as i,o as a,ot as o,yt as s}from"./chunks/framework.bo_0njjP.js";var c=JSON.parse(`{"title":"捐赠支持","description":"","frontmatter":{},"headers":[],"relativePath":"guide/sponsor.md","filePath":"guide/sponsor.md","lastUpdated":1792029959000}`),l={name:`guide/sponsor.md`};function u(a,c,l,u,d,f){let p=e(`GkImage`),m=e(`GkMobileOnly`);return s(),t(`div`,null,[c[2]||(c[2]=o(`<h1 id="title" tabindex="-1">捐赠支持 <a class="header-anchor" href="#title" aria-label="Permalink to “捐赠支持”"></a></h1><p>感谢您对 GKD 的支持!如果您觉得这个项目对您有帮助,欢迎通过以下方式捐赠支持我。</p><p>或直接前往 <a href="https://play.google.com/store/apps/details?id=li.songe.gkd" target="_blank" rel="noreferrer">Google Play</a> 给个好评。</p><hr><p>您的支持将帮助我优化功能、修复问题,并为您带来更好的使用体验!感谢您的慷慨支持!</p><p>同时您也可以查看 <a href="https://github.com/lisonge" target="_blank" rel="noreferrer">我的 Github 主页</a>,也许其他项目也能对您有所帮助。</p><hr>`,7)),n(p,{src:`0046.png`}),n(m,null,{default:r(()=>[...c[0]||(c[0]=[i(`div`,{"text-center":``},[i(`p`,null,[i(`a`,{href:`alipays://platformapi/startapp?saId=10000007&qrcode=https%3A%2F%2Fqr.alipay.com%2Ffkx18039ijnme6m5ef2na0a`,target:`_self`,rel:`noreferrer`},`--> 打开支付宝 <--`)])],-1)])]),_:1}),c[3]||(c[3]=i(`hr`,null,null,-1)),n(p,{src:`0047.png`}),n(m,null,{default:r(()=>[...c[1]||(c[1]=[i(`div`,{"text-center":``},[i(`p`,null,[i(`a`,{href:`gkd://invoke/1`,target:`_self`,rel:`noreferrer`},`--> 截图后打开微信 <--`)])],-1)])]),_:1})])}var d=a(l,[[`render`,u]]);export{c as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,at as t,ct as n,jt as r,nt as i,o as a,ot as o,yt as s}from"./chunks/framework.bo_0njjP.js";var c=JSON.parse(`{"title":"捐赠支持","description":"","frontmatter":{},"headers":[],"relativePath":"guide/sponsor.md","filePath":"guide/sponsor.md","lastUpdated":1792029959000}`),l={name:`guide/sponsor.md`};function u(a,c,l,u,d,f){let p=e(`GkImage`),m=e(`GkMobileOnly`);return s(),t(`div`,null,[c[2]||(c[2]=o("",7)),n(p,{src:`0046.png`}),n(m,null,{default:r(()=>[...c[0]||(c[0]=[i(`div`,{"text-center":``},[i(`p`,null,[i(`a`,{href:`alipays://platformapi/startapp?saId=10000007&qrcode=https%3A%2F%2Fqr.alipay.com%2Ffkx18039ijnme6m5ef2na0a`,target:`_self`,rel:`noreferrer`},`--> 打开支付宝 <--`)])],-1)])]),_:1}),c[3]||(c[3]=i(`hr`,null,null,-1)),n(p,{src:`0047.png`}),n(m,null,{default:r(()=>[...c[1]||(c[1]=[i(`div`,{"text-center":``},[i(`p`,null,[i(`a`,{href:`gkd://invoke/1`,target:`_self`,rel:`noreferrer`},`--> 截图后打开微信 <--`)])],-1)])]),_:1})])}var d=a(l,[[`render`,u]]);export{c as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,at as t,ct as n,nt as r,o as i,ot as a,st as o,yt as s}from"./chunks/framework.bo_0njjP.js";var c=JSON.parse(`{"title":"订阅规则","description":"","frontmatter":{},"headers":[],"relativePath":"guide/subscription.md","filePath":"guide/subscription.md","lastUpdated":1792029959000}`),l={name:`guide/subscription.md`};function u(i,c,l,u,d,f){let p=e(`GkImage`);return s(),t(`div`,null,[c[0]||(c[0]=a("",12)),n(p,{src:`0041.jpg`,"max-w":`[min(375px,100%)]`}),c[1]||(c[1]=a("",4)),n(p,{src:`0042.jpg`,"max-w":`[min(375px,100%)]`}),c[2]||(c[2]=a("",4)),n(p,{src:`0043.jpg`,"max-w":`[min(375px,100%)]`}),c[3]||(c[3]=a("",4)),n(p,{src:`0044.jpg`,"max-w":`[min(375px,100%)]`}),c[4]||(c[4]=a("",4)),n(p,{src:`0045.jpg`,"max-w":`[min(375px,100%)]`}),c[5]||(c[5]=r(`p`,null,[o(`此处可添加 `),r(`a`,{href:`/api/interfaces/RawCategory`},`规则类别`),o(`, 在输入框中输入类别名称点击确认即可`)],-1)),c[6]||(c[6]=r(`p`,null,`TODO`,-1))])}var d=i(l,[[`render`,u]]);export{c as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{at as e,o as t,ot as n,yt as r}from"./chunks/framework.bo_0njjP.js";var i=JSON.parse(`{"title":"使用协议","description":"","frontmatter":{},"headers":[],"relativePath":"guide/terms.md","filePath":"guide/terms.md","lastUpdated":1792029959000}`),a={name:`guide/terms.md`};function o(t,i,a,o,s,c){return r(),e(`div`,null,[...i[0]||(i[0]=[n("",14)])])}var s=t(a,[[`render`,o]]);export{i as __pageData,s as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,at as t,ct as n,o as r,ot as i,yt as a}from"./chunks/framework.bo_0njjP.js";var o=JSON.parse(`{"title":"GKD 是什么?","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is-gkd.md","filePath":"guide/what-is-gkd.md","lastUpdated":1792029959000}`),s={name:`guide/what-is-gkd.md`};function c(r,o,s,c,l,u){let d=e(`GkImageTable`);return a(),t(`div`,null,[o[0]||(o[0]=i(`<h1 id="title" tabindex="-1">GKD 是什么? <a class="header-anchor" href="#title" aria-label="Permalink to “GKD 是什么?”"></a></h1><p>GKD 是一款基于无障碍,高级选择器,订阅规则的自定义屏幕点击 Android 应用</p><h2 id="use-cases" tabindex="-1">使用场景 <a class="header-anchor" href="#use-cases" aria-label="Permalink to “使用场景”"></a></h2><p>通过自定义规则, 在指定界面, 满足指定条件(如屏幕上存在特定文字)时, 点击特定的节点或位置或执行其他操作</p><ul><li><p><strong>快捷操作</strong></p><p>帮助你简化一些重复的流程, 如某些软件自动确认电脑登录</p></li><li><p><strong>跳过流程</strong></p><p>某些软件可能在启动时存在一些烦人的流程, 这个软件可以帮助你点击跳过这个流程</p></li></ul><h2 id="screenshot" tabindex="-1">截图 <a class="header-anchor" href="#screenshot" aria-label="Permalink to “截图”"></a></h2>`,6)),n(d,{images:[[`0048.png`,`0049.png`,`0050.png`,`0051.png`],[`0052.png`,`0053.png`,`0054.png`,`0055.png`]]})])}var l=r(s,[[`render`,c]]);export{o as __pageData,l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ct as e,at as t,ct as n,o as r,ot as i,yt as a}from"./chunks/framework.bo_0njjP.js";var o=JSON.parse(`{"title":"GKD 是什么?","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is-gkd.md","filePath":"guide/what-is-gkd.md","lastUpdated":1792029959000}`),s={name:`guide/what-is-gkd.md`};function c(r,o,s,c,l,u){let d=e(`GkImageTable`);return a(),t(`div`,null,[o[0]||(o[0]=i("",6)),n(d,{images:[[`0048.png`,`0049.png`,`0050.png`,`0051.png`],[`0052.png`,`0053.png`,`0054.png`,`0055.png`]]})])}var l=r(s,[[`render`,c]]);export{o as __pageData,l as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--un-bg-opacity:100%;--un-ease:initial;--un-text-opacity:100%}}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-inset-ring-color{syntax:"*";inherits:false}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow-color{syntax:"*";inherits:false}@property --un-ring-color{syntax:"*";inherits:false}@property --un-ring-inset{syntax:"*";inherits:false}@property --un-ring-offset-color{syntax:"*";inherits:false}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow-color{syntax:"*";inherits:false}@property --un-ease{syntax:"*";inherits:false}:root,:host{--spacing:.25rem;--radius-md:.375rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--colors-red-DEFAULT:#ff6568;--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--fontWeight-medium:500;--ease-DEFAULT:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-monoFont-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--colors-red-DEFAULT:lab(63.7053% 60.745 31.3109)}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-featureSettings,normal);font-variation-settings:var(--default-font-variationSettings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-monoFont-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-monoFont-featureSettings,normal);font-variation-settings:var(--default-monoFont-variationSettings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden~=until-found])){display:none!important}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.file\:text-sm::-webkit-file-upload-button{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.file\:text-sm::file-selector-button{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.color-red{color:color-mix(in srgb, var(--colors-red-DEFAULT) var(--un-text-opacity), transparent)}.file\:font-medium::-webkit-file-upload-button{--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium)}.file\:font-medium::file-selector-button{--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium)}.me,[me=""]{margin-inline-end:calc(var(--spacing) * 4)}.mt-4px,[mt-4px=""]{margin-top:4px}.px{padding-inline:calc(var(--spacing) * 4)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1{padding-block:calc(var(--spacing) * 1)}.pl-4px,[pl-4px=""]{padding-left:4px}.text-center\!{text-align:center!important}[text-center=""]{text-align:center}.outline{outline-style:var(--un-outline-style);outline-width:1px}.focus-visible\:outline-none:focus-visible{--un-outline-style:none;outline-style:none}.b,.border,[b=""]{border-width:1px}.file\:border-0::-webkit-file-upload-button{border-width:0}.file\:border-0::file-selector-button{border-width:0}.rounded-md{border-radius:var(--radius-md)}.bg-transparent{background-color:#0000}[bg~=\#909399]{background-color:color-mix(in oklab, #909399 var(--un-bg-opacity), transparent)}.file\:bg-transparent::-webkit-file-upload-button{background-color:#0000}.file\:bg-transparent::file-selector-button{background-color:#0000}.opacity-0{opacity:0}.opacity-30,[opacity-30=""]{opacity:.3}.opacity-50,[opacity-50=""],[hover\:opacity~="50"]:hover,.disabled\:opacity-50:disabled{opacity:.5}.underline{text-decoration-line:underline}.flex,[flex=""]{display:flex}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.flex-wrap{flex-wrap:wrap}.grid{display:grid}.size-16px,[size-16px=""]{width:16px;height:16px}.h-8px,[h-8px=""]{height:8px}.h-9{height:calc(var(--spacing) * 9)}.h-full,[h-full=""]{height:100%}.h1{height:calc(var(--spacing) * 1)}.h2{height:calc(var(--spacing) * 2)}.h3{height:calc(var(--spacing) * 3)}.h4{height:calc(var(--spacing) * 4)}.h5{height:calc(var(--spacing) * 5)}.h6{height:calc(var(--spacing) * 6)}.w-\[45\%\]{width:45%}.w-250px,[w-250px=""]{width:250px}.w-8px,[w-8px=""]{width:8px}.w-full,[w-full=""]{width:100%}[max-w~="[min(375px,100%)]"]{max-width:min(375px,100%)}.inline{display:inline}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.visible{visibility:visible}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.pointer-events-none,[pointer-events-none=""]{pointer-events:none}.focus-visible\:ring-1:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(1px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.shadow-sm{--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.transform{transform:var(--un-rotate-x) var(--un-rotate-y) var(--un-rotate-z) var(--un-skew-x) var(--un-skew-y)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.ease{--un-ease:var(--ease-DEFAULT);transition-timing-function:var(--ease-DEFAULT)}.ease-in{--un-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--un-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.items-center,[items-center=""]{align-items:center}.bottom-0,[bottom-0=""]{bottom:calc(var(--spacing) * 0)}.bottom-2px,[bottom-2px=""]{bottom:2px}.left-0,[left-0=""]{left:calc(var(--spacing) * 0)}.right-0,[right-0=""]{right:calc(var(--spacing) * 0)}.right-2px,[right-2px=""]{right:2px}.top-0,[top-0=""]{top:calc(var(--spacing) * 0)}[left~="1/1"]{left:100%}.absolute,[absolute=""]{position:absolute}.fixed,[fixed=""]{position:fixed}.relative,[relative=""]{position:relative}.sticky{position:sticky}.z-100,[z-100=""]{z-index:100}[stroke-width~="2"]{stroke-width:2px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin,[animate-spin=""]{animation:1s linear infinite spin}.filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}.table{display:table}@supports (color:color-mix(in lab, red, red)){.color-red{color:color-mix(in oklab, var(--colors-red-DEFAULT) var(--un-text-opacity), transparent)}}:root{--vp-c-white:#fff;--vp-c-black:#000;--vp-c-neutral:var(--vp-c-black);--vp-c-neutral-inverse:var(--vp-c-white)}.dark{--vp-c-neutral:var(--vp-c-white);--vp-c-neutral-inverse:var(--vp-c-black)}:root{--vp-c-gray-1:#dddde3;--vp-c-gray-2:#e4e4e9;--vp-c-gray-3:#ebebef;--vp-c-gray-soft:#8e96aa24;--vp-c-indigo-1:#3451b2;--vp-c-indigo-2:#3a5ccc;--vp-c-indigo-3:#5672cd;--vp-c-indigo-soft:#646cff24;--vp-c-purple-1:#6f42c1;--vp-c-purple-2:#7e4cc9;--vp-c-purple-3:#8e5cd9;--vp-c-purple-soft:#9f7aea24;--vp-c-green-1:#18794e;--vp-c-green-2:#299764;--vp-c-green-3:#30a46c;--vp-c-green-soft:#10b98124;--vp-c-yellow-1:#915930;--vp-c-yellow-2:#946300;--vp-c-yellow-3:#9f6a00;--vp-c-yellow-soft:#eab30824;--vp-c-red-1:#b8272c;--vp-c-red-2:#d5393e;--vp-c-red-3:#e0575b;--vp-c-red-soft:#f43f5e24;--vp-c-sponsor:#db2777}.dark{--vp-c-gray-1:#515c67;--vp-c-gray-2:#414853;--vp-c-gray-3:#32363f;--vp-c-gray-soft:#65758529;--vp-c-indigo-1:#a8b1ff;--vp-c-indigo-2:#5c73e7;--vp-c-indigo-3:#3e63dd;--vp-c-indigo-soft:#646cff29;--vp-c-purple-1:#c8abfa;--vp-c-purple-2:#a879e6;--vp-c-purple-3:#8e5cd9;--vp-c-purple-soft:#9f7aea29;--vp-c-green-1:#3dd68c;--vp-c-green-2:#30a46c;--vp-c-green-3:#298459;--vp-c-green-soft:#10b98129;--vp-c-yellow-1:#f9b44e;--vp-c-yellow-2:#da8b17;--vp-c-yellow-3:#a46a0a;--vp-c-yellow-soft:#eab30829;--vp-c-red-1:#f66f81;--vp-c-red-2:#f14158;--vp-c-red-3:#b62a3c;--vp-c-red-soft:#f43f5e29}:root{--vp-c-bg:#fff;--vp-c-bg-alt:#f6f6f7;--vp-c-bg-elv:#fff;--vp-c-bg-soft:#f6f6f7}.dark{--vp-c-bg:#1b1b1f;--vp-c-bg-alt:#161618;--vp-c-bg-elv:#202127;--vp-c-bg-soft:#202127}:root{--vp-c-border:#c2c2c4;--vp-c-divider:#e2e2e3;--vp-c-gutter:#e2e2e3}.dark{--vp-c-border:#3c3f44;--vp-c-divider:#2e2e32;--vp-c-gutter:#000}:root{--vp-c-text-1:#3c3c43;--vp-c-text-2:#67676c;--vp-c-text-3:#929295}.dark{--vp-c-text-1:#dfdfd6;--vp-c-text-2:#98989f;--vp-c-text-3:#6a6a71}:root{--vp-c-default-1:var(--vp-c-gray-1);--vp-c-default-2:var(--vp-c-gray-2);--vp-c-default-3:var(--vp-c-gray-3);--vp-c-default-soft:var(--vp-c-gray-soft);--vp-c-brand-1:var(--vp-c-indigo-1);--vp-c-brand-2:var(--vp-c-indigo-2);--vp-c-brand-3:var(--vp-c-indigo-3);--vp-c-brand-soft:var(--vp-c-indigo-soft);--vp-c-brand:var(--vp-c-brand-1);--vp-c-tip-1:var(--vp-c-brand-1);--vp-c-tip-2:var(--vp-c-brand-2);--vp-c-tip-3:var(--vp-c-brand-3);--vp-c-tip-soft:var(--vp-c-brand-soft);--vp-c-note-1:var(--vp-c-brand-1);--vp-c-note-2:var(--vp-c-brand-2);--vp-c-note-3:var(--vp-c-brand-3);--vp-c-note-soft:var(--vp-c-brand-soft);--vp-c-success-1:var(--vp-c-green-1);--vp-c-success-2:var(--vp-c-green-2);--vp-c-success-3:var(--vp-c-green-3);--vp-c-success-soft:var(--vp-c-green-soft);--vp-c-important-1:var(--vp-c-purple-1);--vp-c-important-2:var(--vp-c-purple-2);--vp-c-important-3:var(--vp-c-purple-3);--vp-c-important-soft:var(--vp-c-purple-soft);--vp-c-warning-1:var(--vp-c-yellow-1);--vp-c-warning-2:var(--vp-c-yellow-2);--vp-c-warning-3:var(--vp-c-yellow-3);--vp-c-warning-soft:var(--vp-c-yellow-soft);--vp-c-danger-1:var(--vp-c-red-1);--vp-c-danger-2:var(--vp-c-red-2);--vp-c-danger-3:var(--vp-c-red-3);--vp-c-danger-soft:var(--vp-c-red-soft);--vp-c-caution-1:var(--vp-c-red-1);--vp-c-caution-2:var(--vp-c-red-2);--vp-c-caution-3:var(--vp-c-red-3);--vp-c-caution-soft:var(--vp-c-red-soft);--vp-font-family-base:-apple-system, BlinkMacSystemFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono:ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace}[lang]:where(:lang(zh),:lang(ja),:lang(ko)) h1{line-break:strict}[lang]:where(:lang(zh),:lang(ja),:lang(ko)) h2{line-break:strict}[lang]:where(:lang(zh),:lang(ja),:lang(ko)) h3{line-break:strict}[lang]:where(:lang(zh),:lang(ja),:lang(ko)) h4{line-break:strict}[lang]:where(:lang(zh),:lang(ja),:lang(ko)) h5{line-break:strict}[lang]:where(:lang(zh),:lang(ja),:lang(ko)) h6{line-break:strict}[lang]:where(:lang(zh),:lang(ja),:lang(ko)) li{line-break:strict}[lang]:where(:lang(zh),:lang(ja),:lang(ko)) p{line-break:strict}:root{--vp-shadow-1:0 1px 2px #0000000a, 0 1px 2px #0000000f;--vp-shadow-2:0 3px 12px #00000012, 0 1px 4px #00000012;--vp-shadow-3:0 12px 32px #0000001a, 0 2px 6px #00000014;--vp-shadow-4:0 14px 44px #0000001f, 0 3px 9px #0000001f;--vp-shadow-5:0 18px 56px #00000029, 0 4px 12px #00000029;--vp-z-index-footer:10;--vp-z-index-local-nav:20;--vp-z-index-nav:30;--vp-z-index-layout-top:40;--vp-z-index-backdrop:50;--vp-z-index-sidebar:60}@media (min-width:960px){:root{--vp-z-index-sidebar:25}}:root{--vp-layout-max-width:1440px;--vp-header-anchor-symbol:"#";--vp-code-line-height:1.7;--vp-code-font-size:.875em;--vp-code-color:var(--vp-c-brand-1);--vp-code-link-color:var(--vp-c-brand-1);--vp-code-link-hover-color:var(--vp-c-brand-2);--vp-code-bg:var(--vp-c-default-soft);--vp-code-block-color:var(--vp-c-text-2);--vp-code-block-bg:var(--vp-c-bg-alt);--vp-code-block-divider-color:var(--vp-c-gutter);--vp-code-lang-color:var(--vp-c-text-2);--vp-code-line-highlight-color:var(--vp-c-default-soft);--vp-code-line-number-color:var(--vp-c-text-2);--vp-code-line-diff-add-color:var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color:var(--vp-c-success-1);--vp-code-line-diff-remove-color:var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color:var(--vp-c-danger-1);--vp-code-line-warning-color:var(--vp-c-warning-soft);--vp-code-line-error-color:var(--vp-c-danger-soft);--vp-code-copy-code-border-color:var(--vp-c-divider);--vp-code-copy-code-bg:var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color:var(--vp-c-divider);--vp-code-copy-code-hover-bg:var(--vp-c-bg);--vp-code-copy-code-active-text:var(--vp-c-text-2);--vp-code-tab-divider:var(--vp-code-block-divider-color);--vp-code-tab-text-color:var(--vp-c-text-2);--vp-code-tab-bg:var(--vp-code-block-bg);--vp-code-tab-hover-text-color:var(--vp-c-text-1);--vp-code-tab-active-text-color:var(--vp-c-text-1);--vp-code-tab-active-bar-color:var(--vp-c-brand-1);--vp-button-brand-border:transparent;--vp-button-brand-text:var(--vp-c-white);--vp-button-brand-bg:var(--vp-c-brand-3);--vp-button-brand-hover-border:transparent;--vp-button-brand-hover-text:var(--vp-c-white);--vp-button-brand-hover-bg:var(--vp-c-brand-2);--vp-button-brand-active-border:transparent;--vp-button-brand-active-text:var(--vp-c-white);--vp-button-brand-active-bg:var(--vp-c-brand-1);--vp-button-alt-border:transparent;--vp-button-alt-text:var(--vp-c-text-1);--vp-button-alt-bg:var(--vp-c-default-3);--vp-button-alt-hover-border:transparent;--vp-button-alt-hover-text:var(--vp-c-text-1);--vp-button-alt-hover-bg:var(--vp-c-default-2);--vp-button-alt-active-border:transparent;--vp-button-alt-active-text:var(--vp-c-text-1);--vp-button-alt-active-bg:var(--vp-c-default-1);--vp-button-sponsor-border:var(--vp-c-text-2);--vp-button-sponsor-text:var(--vp-c-text-2);--vp-button-sponsor-bg:transparent;--vp-button-sponsor-hover-border:var(--vp-c-sponsor);--vp-button-sponsor-hover-text:var(--vp-c-sponsor);--vp-button-sponsor-hover-bg:transparent;--vp-button-sponsor-active-border:var(--vp-c-sponsor);--vp-button-sponsor-active-text:var(--vp-c-sponsor);--vp-button-sponsor-active-bg:transparent;--vp-custom-block-font-size:14px;--vp-custom-block-code-font-size:13px;--vp-custom-block-info-border:transparent;--vp-custom-block-info-text:var(--vp-c-text-1);--vp-custom-block-info-bg:var(--vp-c-default-soft);--vp-custom-block-info-code-bg:var(--vp-c-default-soft);--vp-custom-block-note-border:transparent;--vp-custom-block-note-text:var(--vp-c-text-1);--vp-custom-block-note-bg:var(--vp-c-default-soft);--vp-custom-block-note-code-bg:var(--vp-c-default-soft);--vp-custom-block-tip-border:transparent;--vp-custom-block-tip-text:var(--vp-c-text-1);--vp-custom-block-tip-bg:var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg:var(--vp-c-tip-soft);--vp-custom-block-important-border:transparent;--vp-custom-block-important-text:var(--vp-c-text-1);--vp-custom-block-important-bg:var(--vp-c-important-soft);--vp-custom-block-important-code-bg:var(--vp-c-important-soft);--vp-custom-block-warning-border:transparent;--vp-custom-block-warning-text:var(--vp-c-text-1);--vp-custom-block-warning-bg:var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg:var(--vp-c-warning-soft);--vp-custom-block-danger-border:transparent;--vp-custom-block-danger-text:var(--vp-c-text-1);--vp-custom-block-danger-bg:var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg:var(--vp-c-danger-soft);--vp-custom-block-caution-border:transparent;--vp-custom-block-caution-text:var(--vp-c-text-1);--vp-custom-block-caution-bg:var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg:var(--vp-c-caution-soft);--vp-custom-block-details-border:var(--vp-custom-block-info-border);--vp-custom-block-details-text:var(--vp-custom-block-info-text);--vp-custom-block-details-bg:var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg:var(--vp-custom-block-info-code-bg);--vp-input-border-color:var(--vp-c-border);--vp-input-bg-color:var(--vp-c-bg-alt);--vp-input-switch-bg-color:var(--vp-c-default-soft);--vp-nav-height:64px;--vp-nav-bg-color:var(--vp-c-bg);--vp-nav-screen-bg-color:var(--vp-c-bg);--vp-nav-logo-height:24px}.hide-nav{--vp-nav-height:0px}.hide-nav .VPSidebar{--vp-nav-height:22px}:root{--vp-local-nav-bg-color:var(--vp-c-bg);--vp-sidebar-width:272px;--vp-sidebar-bg-color:var(--vp-c-bg-alt);--vp-backdrop-bg-color:#0009;--vp-home-hero-name-color:var(--vp-c-brand-1);--vp-home-hero-name-background:transparent;--vp-home-hero-image-background-image:none;--vp-home-hero-image-filter:none;--vp-badge-info-border:transparent;--vp-badge-info-text:var(--vp-c-text-2);--vp-badge-info-bg:var(--vp-c-default-soft);--vp-badge-tip-border:transparent;--vp-badge-tip-text:var(--vp-c-tip-1);--vp-badge-tip-bg:var(--vp-c-tip-soft);--vp-badge-warning-border:transparent;--vp-badge-warning-text:var(--vp-c-warning-1);--vp-badge-warning-bg:var(--vp-c-warning-soft);--vp-badge-danger-border:transparent;--vp-badge-danger-text:var(--vp-c-danger-1);--vp-badge-danger-bg:var(--vp-c-danger-soft);--vp-carbon-ads-text-color:var(--vp-c-text-1);--vp-carbon-ads-poweredby-color:var(--vp-c-text-2);--vp-carbon-ads-bg-color:var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color:var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color:var(--vp-c-text-1);--vp-local-search-bg:var(--vp-c-bg);--vp-local-search-result-bg:var(--vp-c-bg);--vp-local-search-result-border:var(--vp-c-divider);--vp-local-search-result-selected-bg:var(--vp-c-bg);--vp-local-search-result-selected-border:var(--vp-c-brand-1);--vp-local-search-highlight-bg:var(--vp-c-brand-1);--vp-local-search-highlight-text:var(--vp-c-neutral-inverse)}@layer __vitepress_base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--vp-font-family-base);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:600}code,kbd,samp,pre{font-family:var(--vp-font-family-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:-webkit-any([multiple],[size])) optgroup{font-weight:600}:where(select:is([multiple],[size])) optgroup{font-weight:600}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:-1ms!important}}:root{font-size:16px}:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:not(.dark){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:var(--vp-c-text-1);background-color:var(--vp-c-bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-autospace:normal;text-spacing-trim:normal;line-height:24px}pre,code,kbd,samp{text-autospace:no-autospace}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,input:focus,textarea:focus,select:focus{outline:none}button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{margin:auto;display:inline-block}}[class^=vpi-],[class*=\ vpi-],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=\ vpi-].bg,.vp-icon.bg{background-color:#0000;background-size:100% 100%}[class^=vpi-]:not(.bg),[class*=\ vpi-]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;color:inherit;background-color:currentColor;-webkit-mask-size:100% 100%;mask-size:100% 100%}.vpi-align-left{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 12H3m14 6H3M21 6H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14m-7-7l7 7l-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z'/%3E%3C/g%3E%3C/svg%3E")}.vpi-plus{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14m-7-7v14'/%3E%3C/svg%3E")}.vpi-sun{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/g%3E%3C/svg%3E")}.vpi-moon{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3a6 6 0 0 0 9 9a9 9 0 1 1-9-9'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/g%3E%3C/svg%3E")}.vpi-languages{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5 8l6 6m-7 0l6-6l2-3M2 5h12M7 2h1m14 20l-5-10l-5 10m2-4h6'/%3E%3C/svg%3E")}.vpi-heart{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2c-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E")}.vpi-sparkles{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'%3E%3Cpath d='M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4'/%3E%3Ccircle cx='4' cy='20' r='2'/%3E%3C/g%3E%3C/svg%3E")}.vpi-layout-list{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7m-7 5h7m-7 6h7m-7 5h7'/%3E%3C/g%3E%3C/svg%3E")}.vpi-delete{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2zm2 4l6 6m0-6l-6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3Cpath d='m9 10l-5 5l5 5'/%3E%3C/g%3E%3C/svg%3E")}:root{--vp-icon-copy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/g%3E%3C/svg%3E");--vp-icon-copied:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14l2 2l4-4'/%3E%3C/g%3E%3C/svg%3E")}.visually-hidden{white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.custom-block{line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2);border:1px solid #0000;border-radius:8px;padding:8px 16px}.custom-block:has(>.custom-block-title,>summary){padding-top:16px}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{cursor:pointer;user-select:none;margin:0 0 8px;font-weight:700}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;text-underline-offset:2px;font-weight:600;text-decoration:underline;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .shiki span{color:var(--shiki-dark,inherit);text-decoration:var(--shiki-dark-text-decoration,inherit);font-weight:var(--shiki-dark-font-weight,inherit)}html:not(.dark) .shiki span{color:var(--shiki-light,inherit);text-decoration:var(--shiki-light-text-decoration,inherit);font-weight:var(--shiki-light-font-weight,inherit)}.shiki span{unicode-bidi:isolate}.vp-code-group{margin-top:16px}.vp-code-group .tabs{background-color:var(--vp-code-tab-bg);box-shadow:inset 0 -1px var(--vp-code-tab-divider);margin-left:-24px;margin-right:-24px;padding:0 12px;display:flex;position:relative;overflow:auto hidden}@media (min-width:640px){.vp-code-group .tabs{border-radius:8px 8px 0 0;margin-left:0;margin-right:0}}.vp-code-group .tabs input{opacity:0;pointer-events:none;position:fixed}.vp-code-group .tabs label{color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;border-bottom:1px solid #0000;padding:0 12px;font-size:14px;font-weight:500;line-height:48px;transition:color .25s;display:inline-block;position:relative}.vp-code-group .tabs label:after{z-index:1;content:"";background-color:#0000;border-radius:2px;height:2px;transition:background-color .25s;position:absolute;bottom:-1px;left:8px;right:8px}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;border-top-left-radius:0!important;border-top-right-radius:0!important;margin-top:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc [id]{scroll-margin-top:calc(47px + var(--vp-layout-top-height,0px) + var(--vp-extra-scroll-margin,24px))}@media (min-width:960px){.vp-doc [id]{scroll-margin-top:calc(var(--vp-nav-height) + 47px + var(--vp-layout-top-height,0px) + var(--vp-extra-scroll-margin,24px))}}@media (min-width:1280px){.vp-doc [id]{scroll-margin-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height,0px) + var(--vp-extra-scroll-margin,24px))}}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{outline:none;font-weight:600;position:relative}.vp-doc h1{letter-spacing:-.02em;font-size:28px;line-height:40px}.vp-doc h2{border-top:1px solid var(--vp-c-divider);letter-spacing:-.02em;--vp-extra-scroll-margin:0px;margin:48px 0 16px;padding-top:24px;font-size:24px;line-height:32px}.vp-doc h3{letter-spacing:-.01em;margin:32px 0 0;font-size:20px;line-height:28px}.vp-doc h4{letter-spacing:-.01em;margin:24px 0 0;font-size:18px;line-height:24px}.vp-doc .header-anchor{user-select:none;opacity:0;margin-left:-.87em;font-weight:500;text-decoration:none;transition:color .25s,opacity .25s;position:absolute;top:0;left:0}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width:768px){.vp-doc h1{letter-spacing:-.02em;font-size:32px;line-height:40px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc img,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{border-left:2px solid var(--vp-c-divider);color:var(--vp-c-text-2);margin:16px 0;padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{color:var(--vp-c-brand-1);text-underline-offset:2px;font-weight:500;text-decoration:underline;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{margin:16px 0;padding-left:1.25rem}.vp-doc ul{list-style:outside}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc li.task-list-item{list-style:none}.vp-doc .task-list-item-checkbox{vertical-align:middle;accent-color:var(--vp-c-brand-1);margin:0 4px 2px -1.25rem}.vp-doc .footnote-ref a,.vp-doc .footnote-backref{text-decoration:none}.vp-doc .footnotes{font-size:14px}.vp-doc table{border-collapse:collapse;margin:20px 0;display:block;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft);font-size:14px;font-weight:600}.vp-doc td{font-size:14px}.vp-doc hr{border:none;border-top:1px solid var(--vp-c-divider);margin:16px 0}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{border-radius:8px;margin:8px 0!important}.vp-doc .custom-block div[class*=language-] code{background-color:#0000;font-weight:400}.vp-doc .custom-block .vp-code-group,.vp-doc .custom-block [class*=vp-code-block]{margin-top:8px}.vp-doc .custom-block .vp-code-group .tabs{border-radius:8px 8px 0 0;margin:0}.vp-doc .custom-block .vp-code-group div[class*=language-],.vp-doc .custom-block [class*=vp-code-block] div[class*=language-]{margin-top:0!important}.vp-doc :not(:-webkit-any(pre,h1,h2,h3,h4,h5,h6))>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(:is(pre,h1,h2,h3,h4,h5,h6))>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{background-color:var(--vp-code-bg);border-radius:4px;padding:3px 6px;transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{background-color:var(--vp-code-block-bg);margin:16px -24px;transition:background-color .5s;position:relative;overflow-x:auto}@media (min-width:640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width:639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{tab-size:4}.vp-doc [class*=language-] pre{z-index:1;text-align:left;background:0 0;margin:0;padding:20px 0;position:relative;overflow-x:auto}.vp-doc [class*=language-] code{width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);padding:0 24px;transition:color .5s;display:block}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);width:calc(100% + 48px);margin:0 -24px;padding:0 24px;transition:background-color .5s;display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{width:calc(100% + 48px);margin:0 -24px;padding:0 24px;transition:background-color .5s;display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur();opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{z-index:3;border-right:1px solid var(--vp-code-block-divider-color);text-align:center;width:32px;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);padding-top:20px;transition:border-color .5s,color .5s;position:absolute;top:0;bottom:0;left:0}.vp-doc [class*=language-]>button.copy{z-index:3;border:1px solid var(--vp-code-copy-code-border-color);background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);direction:ltr;background-position:50%;background-repeat:no-repeat;background-size:20px;border-radius:4px;width:40px;height:40px;transition:border-color .25s,background-color .25s,opacity .25s;position:absolute;top:12px;right:12px}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied);border-radius:0 4px 4px 0}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{border:1px solid var(--vp-code-copy-code-hover-border-color);text-align:center;width:fit-content;height:40px;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:attr(data-copied);border-right:0;border-radius:4px 0 0 4px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:500;display:flex;position:relative;top:-1px;transform:translate(calc(-100% - 1px))}.vp-doc [class*=language-]>span.lang{z-index:2;user-select:none;color:var(--vp-code-lang-color);font-size:12px;font-weight:500;transition:color .4s,opacity .4s;position:absolute;top:2px;right:8px}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{max-width:calc(50% - 12px)!important;margin:0!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{max-width:calc(50% - 12px)!important;margin:0!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(:is(.no-icon,svg a,:has(img,svg))):after{color:var(--vp-c-text-3);--icon:url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);-webkit-mask-image:var(--icon);mask-image:var(--icon);vertical-align:bottom;background:currentColor;flex-shrink:0;margin-left:4px;padding-left:11px;font-size:10px;display:inline;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:11px 11px;mask-size:11px 11px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(:is(.no-icon,svg a,:has(img,svg))):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{text-align:center;width:100%;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft);font-weight:600;line-height:24px;letter-spacing:1px!important;margin:0 0 4px!important}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{flex-wrap:wrap;gap:4px;display:flex}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc(50% - 2px)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc(33.3333% - 2.66667px)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc(25% - 3px)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc(20% - 3.2px)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc(16.6667% - 3.33333px)}.vp-sponsor-grid-item{background-color:var(--vp-c-bg-soft);flex-shrink:0;width:100%;transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0)invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{justify-content:center;align-items:center;width:100%;display:flex}.vp-sponsor-grid-image{filter:grayscale();max-width:100%;transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale()invert()}.vp-doc .vp-sponsor-grid,.vp-doc .vp-sponsor-grid-item{margin:0;padding:0;list-style:none}.VPBadge{white-space:nowrap;border:1px solid #0000;border-radius:12px;margin-left:2px;padding:0 10px;font-size:12px;font-weight:500;line-height:22px;display:inline-block;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;font-size:10px;line-height:18px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge,.vp-doc h2>.VPBadge{vertical-align:middle;margin:0 0 0 2px}.vp-doc h2>.VPBadge{padding:0 8px}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-1fe35ec1]{z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s;position:fixed;top:0;bottom:0;left:0;right:0}.VPBackdrop.fade-enter-from[data-v-1fe35ec1],.VPBackdrop.fade-leave-to[data-v-1fe35ec1]{opacity:0}.VPBackdrop.fade-leave-active[data-v-1fe35ec1]{transition-duration:.25s}@media (min-width:1280px){.VPBackdrop[data-v-1fe35ec1]{display:none}}.NotFound[data-v-8ef36f60]{text-align:center;padding:64px 24px 96px}@media (min-width:768px){.NotFound[data-v-8ef36f60]{padding:96px 32px 168px}}.code[data-v-8ef36f60]{font-size:64px;font-weight:600;line-height:64px}.title[data-v-8ef36f60]{letter-spacing:2px;padding-top:12px;font-size:20px;font-weight:700;line-height:20px}.divider[data-v-8ef36f60]{background-color:var(--vp-c-divider);width:64px;height:1px;margin:24px auto 18px}.quote[data-v-8ef36f60]{max-width:256px;color:var(--vp-c-text-2);margin:0 auto;font-size:14px;font-weight:500}.action[data-v-8ef36f60]{padding-top:20px}.link[data-v-8ef36f60]{border:1px solid var(--vp-c-brand-1);color:var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;transition:border-color .25s,color .25s;display:inline-block}.link[data-v-8ef36f60]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-6f4e6c90]{z-index:1;position:relative}.nested[data-v-6f4e6c90]{padding-left:16px;padding-right:16px}.outline-link[data-v-6f4e6c90]{color:var(--vp-c-text-2);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:400;line-height:32px;transition:color .5s;display:block;overflow:hidden}.outline-link[data-v-6f4e6c90]:hover,.outline-link.active[data-v-6f4e6c90]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-6f4e6c90]{padding-left:13px}.VPDocAsideOutline[data-v-a3e9bb7f]{display:none}.VPDocAsideOutline.has-outline[data-v-a3e9bb7f]{display:block}.content[data-v-a3e9bb7f]{border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500;position:relative}.outline-marker[data-v-a3e9bb7f]{z-index:0;opacity:0;background-color:var(--vp-c-brand-1);border-radius:2px;width:2px;height:18px;transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s;position:absolute;top:32px;left:-1px}.outline-title[data-v-a3e9bb7f]{font-size:14px;font-weight:600;line-height:32px}.VPDocAside[data-v-4a3e28a8]{flex-direction:column;flex-grow:1;display:flex}.spacer[data-v-4a3e28a8]{flex-grow:1}.VPDocAside[data-v-4a3e28a8] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-4a3e28a8] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-4a3e28a8] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-d6a82ec9]{color:var(--vp-c-text-2);font-size:14px;font-weight:500;line-height:24px}@media (min-width:640px){.VPLastUpdated[data-v-d6a82ec9]{font-size:14px;font-weight:500;line-height:32px}}.VPDocFooter[data-v-3f4d543d]{margin-top:64px}.edit-info[data-v-3f4d543d]{padding-bottom:18px}@media (min-width:640px){.edit-info[data-v-3f4d543d]{justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}}.edit-link-button[data-v-3f4d543d]{color:var(--vp-c-brand-1);border:0;align-items:center;font-size:14px;font-weight:500;line-height:32px;transition:color .25s;display:flex}.edit-link-button[data-v-3f4d543d]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-3f4d543d]{margin-right:8px}.prev-next[data-v-3f4d543d]{border-top:1px solid var(--vp-c-divider);grid-row-gap:8px;padding-top:24px;display:grid}@media (min-width:640px){.prev-next[data-v-3f4d543d]{grid-column-gap:16px;grid-template-columns:repeat(2,1fr)}}.pager-link[data-v-3f4d543d]{border:1px solid var(--vp-c-divider);border-radius:8px;width:100%;height:100%;padding:11px 16px 13px;transition:border-color .25s;display:block}.pager-link[data-v-3f4d543d]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-3f4d543d]{text-align:right;margin-left:auto}.desc[data-v-3f4d543d]{color:var(--vp-c-text-2);font-size:12px;font-weight:500;line-height:20px;display:block}.title[data-v-3f4d543d]{color:var(--vp-c-brand-1);font-size:14px;font-weight:500;line-height:20px;transition:color .25s;display:block}.VPDoc[data-v-09b66d3b]{width:100%;padding:32px 24px 96px}@media (min-width:768px){.VPDoc[data-v-09b66d3b]{padding:48px 32px 128px}}@media (min-width:960px){.VPDoc[data-v-09b66d3b]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-09b66d3b]{justify-content:center;max-width:992px;display:flex}.VPDoc:not(.has-sidebar) .content[data-v-09b66d3b]{max-width:752px}}@media (min-width:1280px){.VPDoc .container[data-v-09b66d3b]{justify-content:center;display:flex}.VPDoc .aside[data-v-09b66d3b]{display:block}}@media (min-width:1440px){.VPDoc:not(.has-sidebar) .content[data-v-09b66d3b]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-09b66d3b]{max-width:1104px}}.container[data-v-09b66d3b]{width:100%;margin:0 auto}.aside[data-v-09b66d3b]{flex-grow:1;order:2;width:100%;max-width:256px;padding-left:32px;display:none;position:relative}.left-aside[data-v-09b66d3b]{padding-left:unset;order:1;padding-right:32px}.aside-container[data-v-09b66d3b]{padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height,0px) + var(--vp-doc-top-height,0px) + 48px);scrollbar-width:none;width:224px;height:100vh;position:fixed;top:0;overflow:hidden auto}.aside-container[data-v-09b66d3b]::-webkit-scrollbar{display:none}.aside-curtain[data-v-09b66d3b]{z-index:10;background:linear-gradient(transparent, var(--vp-c-bg) 70%);pointer-events:none;width:224px;height:32px;position:fixed;bottom:0}.aside-content[data-v-09b66d3b]{min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height,0px) + 48px));flex-direction:column;padding-bottom:32px;display:flex}.content[data-v-09b66d3b]{width:100%;margin:0 auto;position:relative}@media (min-width:960px){.content[data-v-09b66d3b]{padding:0 32px 128px}}@media (min-width:1280px){.content[data-v-09b66d3b]{order:1;min-width:640px;margin:0}}.content-container[data-v-09b66d3b]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-09b66d3b]{max-width:688px}.container[data-v-89ca360d]{width:100%;max-width:1280px;margin:auto;padding:0 24px}@media (min-width:640px){.container[data-v-89ca360d]{padding:0 48px}}@media (min-width:960px){.container[data-v-89ca360d]{width:100%;padding:0 64px}}.vp-doc[data-v-89ca360d] .VPHomeSponsors,.vp-doc[data-v-89ca360d] .VPTeamPage{margin-left:var(--vp-offset,calc(50% - 50vw));margin-right:var(--vp-offset,calc(50% - 50vw))}.vp-doc[data-v-89ca360d] .VPHomeSponsors h2{letter-spacing:normal;border-top:none}.vp-doc[data-v-89ca360d] .VPHomeSponsors a,.vp-doc[data-v-89ca360d] .VPTeamPage a{text-decoration:none}html:not(.dark) .VPImage.dark[data-v-bdf79f07],html.dark .VPImage.light[data-v-bdf79f07]{display:none}.VPFeature[data-v-4537ea82]{border:1px solid var(--vp-c-bg-soft);background-color:var(--vp-c-bg-soft);border-radius:12px;height:100%;transition:border-color .25s,background-color .25s;display:block}.VPFeature.link[data-v-4537ea82]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-4537ea82]{flex-direction:column;height:100%;padding:24px;display:flex}.box[data-v-4537ea82]>.VPImage{margin-bottom:20px}.icon[data-v-4537ea82]{background-color:var(--vp-c-default-soft);border-radius:6px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:20px;font-size:24px;transition:background-color .25s;display:flex}.title[data-v-4537ea82]{font-size:16px;font-weight:600;line-height:24px}.details[data-v-4537ea82]{color:var(--vp-c-text-2);flex-grow:1;padding-top:8px;font-size:14px;font-weight:500;line-height:24px}ul.details[data-v-4537ea82]{padding-left:14px;list-style-type:disc}.link-text[data-v-4537ea82]{padding-top:8px}.link-text-value[data-v-4537ea82]{color:var(--vp-c-brand-1);align-items:center;font-size:14px;font-weight:500;display:flex}.link-text-icon[data-v-4537ea82]{margin-left:6px}.VPFeatures[data-v-243b21d2]{padding:0 24px;position:relative}@media (min-width:640px){.VPFeatures[data-v-243b21d2]{padding:0 48px}}@media (min-width:960px){.VPFeatures[data-v-243b21d2]{padding:0 64px}}.container[data-v-243b21d2]{max-width:1152px;margin:0 auto}.items[data-v-243b21d2]{flex-wrap:wrap;margin:-8px;display:flex}.item[data-v-243b21d2]{width:100%;padding:8px}@media (min-width:640px){.item.grid-2[data-v-243b21d2],.item.grid-4[data-v-243b21d2],.item.grid-6[data-v-243b21d2]{width:50%}}@media (min-width:768px){.item.grid-2[data-v-243b21d2],.item.grid-4[data-v-243b21d2]{width:50%}.item.grid-3[data-v-243b21d2],.item.grid-6[data-v-243b21d2]{width:33.3333%}}@media (min-width:960px){.item.grid-4[data-v-243b21d2]{width:25%}}.VPButton[data-v-c7b88fff]{text-align:center;white-space:nowrap;border:1px solid #0000;font-weight:600;transition:color .25s,border-color .25s,background-color .25s;display:inline-block}.VPButton[data-v-c7b88fff]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-c7b88fff]{border-radius:20px;padding:0 20px;font-size:14px;line-height:38px}.VPButton.big[data-v-c7b88fff]{border-radius:24px;padding:0 24px;font-size:16px;line-height:46px}.VPButton.brand[data-v-c7b88fff]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-c7b88fff]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-c7b88fff]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-c7b88fff]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-c7b88fff]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-c7b88fff]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-c7b88fff]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-c7b88fff]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-c7b88fff]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}.VPHero[data-v-e20fe220]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height,0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height,0px) + 48px) 24px 48px}@media (min-width:640px){.VPHero[data-v-e20fe220]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height,0px) + 80px) 48px 64px}}@media (min-width:960px){.VPHero[data-v-e20fe220]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height,0px) + 80px) 64px 64px}}.container[data-v-e20fe220]{flex-direction:column;max-width:1152px;margin:0 auto;display:flex}@media (min-width:960px){.container[data-v-e20fe220]{flex-direction:row}}.main[data-v-e20fe220]{z-index:10;flex-grow:1;flex-shrink:0;order:2;position:relative}.VPHero.has-image .container[data-v-e20fe220]{text-align:center}@media (min-width:960px){.VPHero.has-image .container[data-v-e20fe220]{text-align:left}.main[data-v-e20fe220]{order:1;width:66.6667%}.VPHero.has-image .main[data-v-e20fe220]{max-width:592px}}.heading[data-v-e20fe220]{flex-direction:column;display:flex}:is(.name,.text)[data-v-e20fe220]{letter-spacing:-.4px;white-space:pre-wrap;width:fit-content;max-width:392px;font-size:32px;font-weight:700;line-height:40px}:is(.name,.text)[data-v-e20fe220]:lang(ja){font-feature-settings:"palt";word-break:auto-phrase}.VPHero.has-image .name[data-v-e20fe220],.VPHero.has-image .text[data-v-e20fe220]{margin:0 auto}.name[data-v-e20fe220]{color:var(--vp-home-hero-name-color)}.clip[data-v-e20fe220]{background:var(--vp-home-hero-name-background);-webkit-text-fill-color:var(--vp-home-hero-name-color);-webkit-background-clip:text;background-clip:text}@media (min-width:640px){.name[data-v-e20fe220],.text[data-v-e20fe220]{max-width:576px;font-size:48px;line-height:56px}}@media (min-width:960px){.name[data-v-e20fe220],.text[data-v-e20fe220]{font-size:56px;line-height:64px}.VPHero.has-image .name[data-v-e20fe220],.VPHero.has-image .text[data-v-e20fe220]{margin:0}}.tagline[data-v-e20fe220]{white-space:pre-wrap;max-width:392px;color:var(--vp-c-text-2);padding-top:8px;font-size:18px;font-weight:500;line-height:28px}.VPHero.has-image .tagline[data-v-e20fe220]{margin:0 auto}@media (min-width:640px){.tagline[data-v-e20fe220]{max-width:576px;padding-top:12px;font-size:20px;line-height:32px}}@media (min-width:960px){.tagline[data-v-e20fe220]{font-size:24px;line-height:36px}.VPHero.has-image .tagline[data-v-e20fe220]{margin:0}}.actions[data-v-e20fe220]{flex-wrap:wrap;margin:-6px;padding-top:24px;display:flex}.VPHero.has-image .actions[data-v-e20fe220]{justify-content:center}@media (min-width:640px){.actions[data-v-e20fe220]{padding-top:32px}}@media (min-width:960px){.VPHero.has-image .actions[data-v-e20fe220]{justify-content:flex-start}}.action[data-v-e20fe220]{flex-shrink:0;padding:6px}.image[data-v-e20fe220]{order:1;margin:-76px -24px -48px}@media (min-width:640px){.image[data-v-e20fe220]{margin:-108px -24px -48px}}@media (min-width:960px){.image[data-v-e20fe220]{flex-grow:1;order:2;min-height:100%;margin:0}}.image-container[data-v-e20fe220]{width:320px;height:320px;margin:0 auto;position:relative}@media (min-width:640px){.image-container[data-v-e20fe220]{width:392px;height:392px}}@media (min-width:960px){.image-container[data-v-e20fe220]{justify-content:center;align-items:center;width:100%;height:100%;display:flex;transform:translate(-32px,-32px)}}.image-bg[data-v-e20fe220]{background-image:var(--vp-home-hero-image-background-image);width:192px;height:192px;filter:var(--vp-home-hero-image-filter);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (min-width:640px){.image-bg[data-v-e20fe220]{width:256px;height:256px}}@media (min-width:960px){.image-bg[data-v-e20fe220]{width:320px;height:320px}}[data-v-e20fe220] .image-src{object-fit:contain;width:100%;max-width:192px;height:100%;max-height:192px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (min-width:640px){[data-v-e20fe220] .image-src{max-width:256px;max-height:256px}}@media (min-width:960px){[data-v-e20fe220] .image-src{max-width:320px;max-height:320px}}.VPHome[data-v-4115d4b0]{margin-bottom:96px}@media (min-width:768px){.VPHome[data-v-4115d4b0]{margin-bottom:128px}}.VPContent[data-v-bae7cf19]{margin:var(--vp-layout-top-height,0px) auto 0;flex-grow:1;flex-shrink:0;width:100%}.VPContent.is-home[data-v-bae7cf19]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-bae7cf19]{margin:0}@media (min-width:960px){.VPContent[data-v-bae7cf19]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-bae7cf19]{margin:var(--vp-layout-top-height,0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width:1440px){.VPContent.has-sidebar[data-v-bae7cf19]{padding-right:calc((100% - var(--vp-layout-max-width)) / 2);padding-left:calc((100% - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-ca42a0f5]{z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);background-color:var(--vp-c-bg);padding:32px 24px;position:relative}.VPFooter.has-sidebar[data-v-ca42a0f5]{display:none}.VPFooter[data-v-ca42a0f5] a{text-underline-offset:2px;text-decoration-line:underline;transition:color .25s}.VPFooter[data-v-ca42a0f5] a:hover{color:var(--vp-c-text-1)}@media (min-width:768px){.VPFooter[data-v-ca42a0f5]{padding:32px}}.container[data-v-ca42a0f5]{max-width:var(--vp-layout-max-width);text-align:center;margin:0 auto}.message[data-v-ca42a0f5],.copyright[data-v-ca42a0f5]{color:var(--vp-c-text-2);font-size:14px;font-weight:500;line-height:24px}.VPLocalNavOutlineDropdown button[data-v-73c24310]{color:var(--vp-c-text-2);font-size:12px;font-weight:500;line-height:24px;transition:color .5s;display:block;position:relative}.VPLocalNavOutlineDropdown button[data-v-73c24310]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-73c24310]{color:var(--vp-c-text-1)}.icon[data-v-73c24310]{vertical-align:middle;margin-left:2px;font-size:14px;transition:transform .25s;display:inline-block;transform:rotate(0)}@media (min-width:960px){.VPLocalNavOutlineDropdown button[data-v-73c24310]{font-size:14px}.icon[data-v-73c24310]{font-size:16px}}.open>.icon[data-v-73c24310]{transform:rotate(90deg)}.items[data-v-73c24310]{border:1px solid var(--vp-c-border);background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh,100vh) - 86px);box-shadow:var(--vp-shadow-3);border-radius:8px;gap:1px;display:grid;position:absolute;top:40px;left:16px;right:16px;overflow:hidden auto}@media (min-width:960px){.items[data-v-73c24310]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-73c24310]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-73c24310]{color:var(--vp-c-brand-1);padding:0 16px;font-size:14px;font-weight:500;line-height:48px;display:block}.outline[data-v-73c24310]{background-color:var(--vp-c-bg-soft);padding:8px 0}.flyout-enter-active[data-v-73c24310]{transition:all .2s ease-out}.flyout-leave-active[data-v-73c24310]{transition:all .15s ease-in}.flyout-enter-from[data-v-73c24310],.flyout-leave-to[data-v-73c24310]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9ac2f74c]{z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height,0px);background-color:var(--vp-local-nav-bg-color);width:100%;position:sticky;top:0;left:0}.VPLocalNav.fixed[data-v-9ac2f74c]{position:fixed}@media (min-width:960px){.VPLocalNav[data-v-9ac2f74c]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-9ac2f74c]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-9ac2f74c]{display:none}}@media (min-width:1280px){.VPLocalNav[data-v-9ac2f74c]{display:none}}.container[data-v-9ac2f74c]{justify-content:space-between;align-items:center;display:flex}.menu[data-v-9ac2f74c]{color:var(--vp-c-text-2);align-items:center;font-size:12px;font-weight:500;line-height:24px;transition:color .5s;display:flex}.menu[data-v-9ac2f74c]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width:960px){.menu[data-v-9ac2f74c]{display:none}}.menu-icon[data-v-9ac2f74c]{margin-right:8px;font-size:14px}.menu[data-v-9ac2f74c],[data-v-9ac2f74c] .VPLocalNavOutlineDropdown>button{padding:12px 24px 11px}@media (min-width:768px){.menu[data-v-9ac2f74c],[data-v-9ac2f74c] .VPLocalNavOutlineDropdown>button{padding:12px 32px 11px}}.VPSwitch[data-v-abe87520]{border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);border-radius:11px;flex-shrink:0;width:40px;height:22px;display:block;position:relative;transition:border-color .25s!important}.VPSwitch[data-v-abe87520]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-abe87520]{background-color:var(--vp-c-neutral-inverse);width:18px;height:18px;box-shadow:var(--vp-shadow-1);border-radius:50%;position:absolute;top:1px;left:1px;transition:transform .25s!important}.icon[data-v-abe87520]{border-radius:50%;width:18px;height:18px;display:block;position:relative;overflow:hidden}.icon[data-v-abe87520] [class^=vpi-]{width:12px;height:12px;color:var(--vp-c-text-2);position:absolute;top:3px;left:3px}.dark .icon[data-v-abe87520] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-3118776b]{opacity:1}.moon[data-v-3118776b],.dark .sun[data-v-3118776b]{opacity:0}.dark .moon[data-v-3118776b]{opacity:1}.dark .VPSwitchAppearance[data-v-3118776b] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-19112ba7]{display:none}@media (min-width:1280px){.VPNavBarAppearance[data-v-19112ba7]{align-items:center;display:flex}}.VPMenuGroup+.VPMenuLink[data-v-0bb72d78]{border-top:1px solid var(--vp-c-divider);margin:12px -12px 0;padding:12px 12px 0}.link[data-v-0bb72d78]{color:var(--vp-c-text-1);text-align:left;white-space:nowrap;border-radius:6px;padding:0 12px;font-size:14px;font-weight:500;line-height:32px;transition:background-color .25s,color .25s;display:block}.link[data-v-0bb72d78]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-0bb72d78]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-240f4569]{border-top:1px solid var(--vp-c-divider);margin:12px -12px 0;padding:12px 12px 0}.VPMenuGroup[data-v-240f4569]:first-child{border-top:0;margin-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-240f4569]{border-top:1px solid var(--vp-c-divider);margin-top:12px}.title[data-v-240f4569]{color:var(--vp-c-text-2);white-space:nowrap;padding:0 12px;font-size:14px;font-weight:600;line-height:32px;transition:color .25s}.VPMenu[data-v-4b77f24e]{border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);min-width:128px;box-shadow:var(--vp-shadow-3);max-height:calc(100vh - var(--vp-nav-height));border-radius:12px;padding:12px;transition:background-color .5s;overflow-y:auto}.VPMenu[data-v-4b77f24e] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-4b77f24e] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-4b77f24e] .group:last-child{padding-bottom:0}.VPMenu[data-v-4b77f24e] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-4b77f24e] .item{white-space:nowrap;padding:0 16px}.VPMenu[data-v-4b77f24e] .label{color:var(--vp-c-text-2);flex-grow:1;font-size:12px;font-weight:500;line-height:28px;transition:color .5s}.VPMenu[data-v-4b77f24e] .action{padding-left:24px}.VPFlyout[data-v-4d8772ad]{position:relative}.VPFlyout[data-v-4d8772ad]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-4d8772ad]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-4d8772ad]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-4d8772ad]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-4d8772ad]{color:var(--vp-c-brand-2)}.button[aria-expanded=false]+.menu[data-v-4d8772ad]{opacity:0;visibility:hidden;transform:translateY(0)}.VPFlyout:hover .menu[data-v-4d8772ad],.button[aria-expanded=true]+.menu[data-v-4d8772ad]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-4d8772ad]{height:var(--vp-nav-height);color:var(--vp-c-text-1);align-items:center;padding:0 12px;transition:color .5s;display:flex}.text[data-v-4d8772ad]{line-height:var(--vp-nav-height);color:var(--vp-c-text-1);align-items:center;font-size:14px;font-weight:500;transition:color .25s;display:flex}.option-icon[data-v-4d8772ad]{margin-right:0;font-size:16px}.text-icon[data-v-4d8772ad]{margin-left:4px;font-size:14px}.icon[data-v-4d8772ad]{font-size:20px;transition:fill .25s}.menu[data-v-4d8772ad]{top:calc(var(--vp-nav-height) / 2 + 20px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s;position:absolute;right:0}.VPSocialLink[data-v-30d3fe38]{width:36px;height:36px;color:var(--vp-c-text-2);justify-content:center;align-items:center;transition:color .5s;display:flex}.VPSocialLink[data-v-30d3fe38]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-30d3fe38]>svg,.VPSocialLink[data-v-30d3fe38]>[class^=vpi-social-]{fill:currentColor;width:20px;height:20px}.VPSocialLinks[data-v-9711edf3]{justify-content:center;display:flex}.vp-doc .VPSocialLinks[data-v-9711edf3],.vp-doc .VPSocialLinks .item[data-v-9711edf3]{margin:0;padding:0;list-style:none}.VPNavBarExtra[data-v-59bbb10b]{margin-right:-12px;display:none}@media (min-width:768px){.VPNavBarExtra[data-v-59bbb10b]{display:block}}@media (min-width:1280px){.VPNavBarExtra[data-v-59bbb10b]{display:none}}.trans-title[data-v-59bbb10b]{color:var(--vp-c-text-1);padding:0 24px 0 12px;font-size:14px;font-weight:700;line-height:32px}.item.appearance[data-v-59bbb10b],.item.social-links[data-v-59bbb10b]{align-items:center;padding:0 12px;display:flex}.item.appearance[data-v-59bbb10b]{min-width:176px}.appearance-action[data-v-59bbb10b]{margin-right:-2px}.social-links-list[data-v-59bbb10b]{margin:-4px -8px}.VPNavBarHamburger[data-v-6edcecdf]{width:48px;height:var(--vp-nav-height);justify-content:center;align-items:center;display:flex}@media (min-width:768px){.VPNavBarHamburger[data-v-6edcecdf]{display:none}}.container[data-v-6edcecdf]{width:16px;height:14px;position:relative;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-6edcecdf]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-6edcecdf]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-6edcecdf]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-6edcecdf]{top:6px;transform:translate(0)rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-6edcecdf]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-6edcecdf]{top:6px;transform:translate(0)rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-6edcecdf],.VPNavBarHamburger.active:hover .middle[data-v-6edcecdf],.VPNavBarHamburger.active:hover .bottom[data-v-6edcecdf]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-6edcecdf],.middle[data-v-6edcecdf],.bottom[data-v-6edcecdf]{background-color:var(--vp-c-text-1);width:16px;height:2px;transition:top .25s,background-color .5s,transform .25s;position:absolute}.top[data-v-6edcecdf]{top:0;left:0;transform:translate(0)}.middle[data-v-6edcecdf]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-6edcecdf]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-ba488d77]{line-height:var(--vp-nav-height);color:var(--vp-c-text-1);align-items:center;padding:0 12px;font-size:14px;font-weight:500;transition:color .25s;display:flex}.VPNavBarMenuLink.active[data-v-ba488d77],.VPNavBarMenuLink[data-v-ba488d77]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-9603ce15]{display:none}.list[data-v-9603ce15]{display:flex}@media (min-width:768px){.VPNavBarMenu[data-v-9603ce15]{display:block}}.VPNavBarAskAiButton[data-v-31e32b68]{height:var(--vp-nav-height);align-items:center;padding:8px 14px;font-size:20px;display:flex}@media (min-width:768px){.VPNavBarAskAiButton[data-v-31e32b68]{background-color:var(--vp-c-bg-alt);height:auto;color:var(--vp-c-text-2);border-radius:8px;padding:11.5px;font-size:15px;transition:color .3s}.VPNavBarAskAiButton[data-v-31e32b68]:hover{color:var(--vp-c-brand-1)}}.VPNavBarSearchButton[data-v-8eb6b216]{height:var(--vp-nav-height);align-items:center;gap:8px;padding:8px 14px;font-size:20px;display:flex}.text[data-v-8eb6b216],.keys[data-v-8eb6b216],:root.mac .key-ctrl[data-v-8eb6b216],:root:not(.mac) .key-cmd[data-v-8eb6b216]{display:none}kbd[data-v-8eb6b216]{font-family:inherit;font-weight:500}@media (min-width:768px){.VPNavBarSearchButton[data-v-8eb6b216]{background-color:var(--vp-c-bg-alt);height:auto;color:var(--vp-c-text-2);border-radius:8px;padding:8px 12px;font-size:14px;line-height:1}.text[data-v-8eb6b216]{font-size:13px;display:inline}.keys[data-v-8eb6b216]{border:1px solid var(--vp-c-divider);border-radius:4px;align-items:center;gap:4px;padding:4px 6px;font-size:12px;display:flex}}.VPNavBarSearch[data-v-974e65f4]{align-items:center;display:flex}@media (min-width:768px){.VPNavBarSearch[data-v-974e65f4]{flex-grow:1;gap:8px;padding-left:24px}}@media (min-width:960px){.VPNavBarSearch[data-v-974e65f4]{padding-left:32px}}.VPNavBarSocialLinks[data-v-74bc09ac]{display:none}@media (min-width:1280px){.VPNavBarSocialLinks[data-v-74bc09ac]{align-items:center;display:flex}}.title[data-v-cad311b4]{width:100%;height:var(--vp-nav-height);color:var(--vp-c-text-1);border-bottom:1px solid #0000;align-items:center;font-size:16px;font-weight:600;transition:opacity .25s;display:flex}@media (min-width:960px){.title[data-v-cad311b4]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-cad311b4]{border-bottom-color:var(--vp-c-divider)}}[data-v-cad311b4] .logo{height:var(--vp-nav-logo-height);margin-right:8px}.VPNavBarTranslations[data-v-dd38d2e8]{display:none}@media (min-width:1280px){.VPNavBarTranslations[data-v-dd38d2e8]{align-items:center;display:flex}}.title[data-v-dd38d2e8]{color:var(--vp-c-text-1);padding:0 24px 0 12px;font-size:14px;font-weight:700;line-height:32px}.VPNavBar[data-v-e72917cf]{height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s;position:relative}.VPNavBar.screen-open[data-v-e72917cf]{background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider);transition:none}.VPNavBar[data-v-e72917cf]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width:960px){.VPNavBar[data-v-e72917cf]:not(.home){background-color:#0000}.VPNavBar[data-v-e72917cf]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-e72917cf]{padding:0 8px 0 24px}@media (min-width:768px){.wrapper[data-v-e72917cf]{padding:0 32px}}@media (min-width:960px){.VPNavBar.has-sidebar .wrapper[data-v-e72917cf]{padding:0}}.container[data-v-e72917cf]{max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none;justify-content:space-between;margin:0 auto;display:flex}.container>.title[data-v-e72917cf],.container>.content[data-v-e72917cf]{pointer-events:none}.container[data-v-e72917cf] *{pointer-events:auto}@media (min-width:960px){.VPNavBar.has-sidebar .container[data-v-e72917cf]{max-width:100%}}.title[data-v-e72917cf]{height:calc(var(--vp-nav-height) - 1px);flex-shrink:0;transition:background-color .5s}@media (min-width:960px){.VPNavBar.has-sidebar .title[data-v-e72917cf]{z-index:2;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:#0000;padding:0 32px;position:absolute;top:0;left:0}}@media (min-width:1440px){.VPNavBar.has-sidebar .title[data-v-e72917cf]{padding-left:max(32px, calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-e72917cf]{flex-grow:1}@media (min-width:960px){.VPNavBar.has-sidebar .content[data-v-e72917cf]{z-index:1;padding-left:var(--vp-sidebar-width);padding-right:32px;position:relative}}@media (min-width:1440px){.VPNavBar.has-sidebar .content[data-v-e72917cf]{padding-left:calc((100% - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width));padding-right:calc((100% - var(--vp-layout-max-width)) / 2 + 32px)}}.content-body[data-v-e72917cf]{height:var(--vp-nav-height);justify-content:flex-end;align-items:center;transition:background-color .5s;display:flex}@media (min-width:960px){.VPNavBar:not(.home.top) .content-body[data-v-e72917cf]{background-color:var(--vp-nav-bg-color);position:relative}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-e72917cf]{background-color:#0000}.content-body[data-v-e72917cf]{margin-right:-100vw;padding-right:100vw}}.menu+.translations[data-v-e72917cf]:before,.menu+.appearance[data-v-e72917cf]:before,.menu+.social-links[data-v-e72917cf]:before,.translations+.appearance[data-v-e72917cf]:before,.appearance+.social-links[data-v-e72917cf]:before{background-color:var(--vp-c-divider);content:"";width:1px;height:24px;margin-left:8px;margin-right:8px}.menu+.appearance[data-v-e72917cf]:before,.translations+.appearance[data-v-e72917cf]:before{margin-right:16px}.appearance+.social-links[data-v-e72917cf]:before{margin-left:16px}.social-links[data-v-e72917cf]{margin-right:-8px}.divider[data-v-e72917cf]{width:100%;height:1px}@media (min-width:960px){.VPNavBar.has-sidebar .divider[data-v-e72917cf]{padding-left:var(--vp-sidebar-width)}}@media (min-width:1440px){.VPNavBar.has-sidebar .divider[data-v-e72917cf]{padding-left:calc((100% - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-e72917cf]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-e72917cf]{background-color:var(--vp-c-gutter)}@media (min-width:960px){.VPNavBar:not(.home.top) .divider-line[data-v-e72917cf],.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-e72917cf]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-42629761]{background-color:var(--vp-c-bg-soft);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px 12px 16px;display:flex}.text[data-v-42629761]{color:var(--vp-c-text-2);font-size:12px;font-weight:500;line-height:24px}.VPNavScreenMenuGroupLink[data-v-e58074cb]{color:var(--vp-c-text-1);margin-left:12px;font-size:14px;font-weight:400;line-height:32px;transition:color .25s;display:block}.VPNavScreenMenuGroupLink[data-v-e58074cb]:hover,.VPNavScreenMenuGroupLink.active[data-v-e58074cb]{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-4ceed151]{display:block}.title[data-v-4ceed151]{color:var(--vp-c-text-2);font-size:13px;font-weight:700;line-height:32px;transition:color .25s}.VPNavScreenMenuGroup[data-v-4462584c]{border-bottom:1px solid var(--vp-c-divider);height:48px;transition:border-color .5s;overflow:hidden}.VPNavScreenMenuGroup .items[data-v-4462584c]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-4462584c]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-4462584c]{height:auto;padding-bottom:10px}.VPNavScreenMenuGroup.open .button[data-v-4462584c]{color:var(--vp-c-brand-1);padding-bottom:6px}.VPNavScreenMenuGroup.open .button-icon[data-v-4462584c]{transform:rotate(45deg)}.button[data-v-4462584c]{width:100%;color:var(--vp-c-text-1);justify-content:space-between;align-items:center;padding:12px 4px 11px 0;font-size:14px;font-weight:500;line-height:24px;transition:color .25s;display:flex}.button[data-v-4462584c]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-4462584c]{transition:transform .25s}.group[data-v-4462584c]:first-child{padding-top:0}.group+.group[data-v-4462584c],.group+.item[data-v-4462584c]{padding-top:4px}.VPNavScreenMenuLink[data-v-2765dc0f]{border-bottom:1px solid var(--vp-c-divider);color:var(--vp-c-text-1);padding:12px 0 11px;font-size:14px;font-weight:500;line-height:24px;transition:border-color .25s,color .25s;display:block}.VPNavScreenMenuLink[data-v-2765dc0f]:hover,.VPNavScreenMenuLink.active[data-v-2765dc0f]{color:var(--vp-c-brand-1)}.VPNavScreenTranslations[data-v-57ba8ef9]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-57ba8ef9]{height:auto}.title[data-v-57ba8ef9]{color:var(--vp-c-text-1);align-items:center;font-size:14px;font-weight:500;display:flex}.icon[data-v-57ba8ef9]{font-size:16px}.icon.lang[data-v-57ba8ef9]{margin-right:8px}.icon.chevron[data-v-57ba8ef9]{margin-left:4px}.list[data-v-57ba8ef9]{padding:4px 0 0 24px}.link[data-v-57ba8ef9]{color:var(--vp-c-text-1);font-size:13px;line-height:32px}.VPNavScreen[data-v-6880fbab]{top:calc(var(--vp-nav-height) + var(--vp-layout-top-height,0px));background-color:var(--vp-nav-screen-bg-color);pointer-events:auto;width:100%;padding:0 32px;transition:background-color .25s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.VPNavScreen.fade-enter-active[data-v-6880fbab],.VPNavScreen.fade-leave-active[data-v-6880fbab]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-6880fbab],.VPNavScreen.fade-leave-active .container[data-v-6880fbab]{transition:transform .25s}.VPNavScreen.fade-enter-from[data-v-6880fbab],.VPNavScreen.fade-leave-to[data-v-6880fbab]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-6880fbab],.VPNavScreen.fade-leave-to .container[data-v-6880fbab]{transform:translateY(-8px)}@media (min-width:768px){.VPNavScreen[data-v-6880fbab]{display:none}}.container[data-v-6880fbab]{max-width:288px;margin:0 auto;padding:24px 0 96px}.menu+.translations[data-v-6880fbab],.menu+.appearance[data-v-6880fbab],.translations+.appearance[data-v-6880fbab]{margin-top:24px}.menu+.social-links[data-v-6880fbab],.appearance+.social-links[data-v-6880fbab]{margin-top:16px}.VPNav[data-v-eb987941]{top:var(--vp-layout-top-height,0px);z-index:var(--vp-z-index-nav);pointer-events:none;width:100%;transition:background-color .5s;position:relative;left:0}@media (min-width:960px){.VPNav[data-v-eb987941]{position:fixed}}.VPSidebarItem.level-0[data-v-ceec78bf]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-ceec78bf]{padding-bottom:10px}.item[data-v-ceec78bf]{width:100%;display:flex;position:relative}.VPSidebarItem.collapsible>.item[data-v-ceec78bf]{cursor:pointer}.indicator[data-v-ceec78bf]{border-radius:2px;width:2px;transition:background-color .25s;position:absolute;top:6px;bottom:6px;left:-17px}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-ceec78bf],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-ceec78bf],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-ceec78bf],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-ceec78bf]{background-color:var(--vp-c-brand-1)}.link[data-v-ceec78bf]{flex-grow:1;align-items:center;display:flex}.text[data-v-ceec78bf]{flex-grow:1;padding:4px 0;font-size:14px;line-height:24px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-ceec78bf]{color:var(--vp-c-text-1);font-weight:700}.VPSidebarItem.level-1 .text[data-v-ceec78bf],.VPSidebarItem.level-2 .text[data-v-ceec78bf],.VPSidebarItem.level-3 .text[data-v-ceec78bf],.VPSidebarItem.level-4 .text[data-v-ceec78bf],.VPSidebarItem.level-5 .text[data-v-ceec78bf]{color:var(--vp-c-text-2);font-weight:500}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-ceec78bf],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-ceec78bf],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-ceec78bf],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-ceec78bf],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-ceec78bf],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-ceec78bf]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-ceec78bf],.VPSidebarItem.level-1.has-active>.item>.text[data-v-ceec78bf],.VPSidebarItem.level-2.has-active>.item>.text[data-v-ceec78bf],.VPSidebarItem.level-3.has-active>.item>.text[data-v-ceec78bf],.VPSidebarItem.level-4.has-active>.item>.text[data-v-ceec78bf],.VPSidebarItem.level-5.has-active>.item>.text[data-v-ceec78bf],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-ceec78bf],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-ceec78bf],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-ceec78bf],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-ceec78bf],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-ceec78bf],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-ceec78bf]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-ceec78bf],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-ceec78bf],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-ceec78bf],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-ceec78bf],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-ceec78bf],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-ceec78bf]{color:var(--vp-c-brand-1)}.caret[data-v-ceec78bf]{width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin-right:-7px;transition:color .25s;display:flex}.item:hover .caret[data-v-ceec78bf]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-ceec78bf]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-ceec78bf]{font-size:18px;transition:transform .25s;transform:rotate(90deg)}.VPSidebarItem.collapsed .caret-icon[data-v-ceec78bf]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-ceec78bf],.VPSidebarItem.level-2 .items[data-v-ceec78bf],.VPSidebarItem.level-3 .items[data-v-ceec78bf],.VPSidebarItem.level-4 .items[data-v-ceec78bf],.VPSidebarItem.level-5 .items[data-v-ceec78bf]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-ceec78bf]{display:none}.no-transition[data-v-d3787c75] .caret-icon{transition:none}.group+.group[data-v-d3787c75]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width:960px){.group[data-v-d3787c75]{width:calc(var(--vp-sidebar-width) - 64px);padding-top:10px}}.VPSidebar[data-v-8a2ab808]{top:var(--vp-layout-top-height,0px);z-index:var(--vp-z-index-sidebar);background-color:var(--vp-sidebar-bg-color);opacity:0;width:calc(100vw - 64px);max-width:320px;box-shadow:var(--vp-c-shadow-3);overscroll-behavior:contain;padding:32px 32px 96px;transition:opacity .5s,transform .25s;position:fixed;bottom:0;left:0;overflow:hidden auto;transform:translate(-100%)}.VPSidebar.open[data-v-8a2ab808]{opacity:1;visibility:visible;transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1);transform:translate(0)}.dark .VPSidebar[data-v-8a2ab808]{box-shadow:var(--vp-shadow-1)}@media (min-width:960px){.VPSidebar[data-v-8a2ab808]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;max-width:100%;box-shadow:none;transform:translate(0)}}@media (min-width:1440px){.VPSidebar[data-v-8a2ab808]{padding-left:max(32px, calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width:960px){.curtain[data-v-8a2ab808]{top:calc(var(--vp-nav-height) * -1);z-index:1;margin-top:calc(var(--vp-nav-height) * -1);height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color);margin-left:-32px;margin-right:-32px;position:sticky;left:0}}.nav[data-v-8a2ab808]{outline:0}.VPSkipLink[data-v-9cbb6ad9]{z-index:999;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg);border-radius:8px;padding:8px 16px;font-size:12px;font-weight:700;text-decoration:none;position:fixed;top:8px;left:8px}.VPSkipLink[data-v-9cbb6ad9]:focus{clip:auto;clip-path:none;width:auto;height:auto}@media (min-width:1280px){.VPSkipLink[data-v-9cbb6ad9]{top:14px;left:16px}}.Layout[data-v-956cf687]{flex-direction:column;min-height:100vh;display:flex}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-cyrillic-ext._dlW9xFb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-cyrillic.D7dRslh9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-greek-ext.Ct-Tf2bq.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-greek.DNcpQ8QC.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-vietnamese.BI5UxJD-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-latin-ext.DytegdRQ.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-latin.CoImASkB.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+21A9,U+2212,U+2215,U+2318,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-symbols.DBflboKE.woff2)format("woff2");unicode-range:U+2CD,U+2D8-2D9,U+2DB,U+302,U+306-307,U+30A,U+30C,U+30F,U+313,U+315,U+31B,U+326-328,U+32C,U+337-338,U+342-343,U+346-36F,U+E3F,U+1DC0-1DF5,U+1DFC-1DFF,U+2070-2071,U+2074-208E,U+2090-209C,U+20DB-20DE,U+20E8,U+20F0,U+2100-2101,U+2103,U+2105-2106,U+2109,U+2117,U+211E-2121,U+2126,U+212A-212B,U+212E,U+2132,U+213B,U+214D,U+2150-217F,U+2183-2186,U+2189,U+2190,U+2192,U+2194-2199,U+21AA,U+21B0-21B1,U+21B3-21B5,U+21BA-21BB,U+21D0,U+21D2,U+21D4,U+21DE-21DF,U+21E4-21E5,U+21E7,U+21EA,U+2202,U+2205-2206,U+220F,U+2211,U+221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+2295-2298,U+2303-2305,U+2325-2327,U+232B,U+2380,U+2387,U+238B,U+23CE-23CF,U+2423,U+2460-2468,U+24B6-24CF,U+24EA,U+25A0-25A2,U+25AA,U+25B2-25B3,U+25B6-25B7,U+25BA-25BD,U+25C0-25C1,U+25C4-25C7,U+25CA-25CB,U+25CF,U+25E6,U+25EF,U+2600,U+2605-2606,U+263C,U+2661,U+2665,U+266A-266B,U+26A0,U+2713,U+2717,U+2756,U+2764,U+2780-2788,U+27EF,U+27F5-27FA,U+2913,U+2A38,U+2B06,U+2B12-2B13,U+2B1C,U+2B24,U+2E18,U+A92E,U+1F12F-1F149,U+1F16A-1F16B,U+1F850,U+1F852}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-cyrillic-ext.BeNbU08G.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-cyrillic.CD0kT8R4.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-greek-ext.CFAEQ5Ow.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-greek.Dsf7YjP7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-vietnamese.CpqCnS2H.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-latin-ext.Dl_ayf4-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-latin.BOE8-mWI.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+21A9,U+2212,U+2215,U+2318,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-symbols.w-B2-dTa.woff2)format("woff2");unicode-range:U+2CD,U+2D8-2D9,U+2DB,U+302,U+306-307,U+30A,U+30C,U+30F,U+313,U+315,U+31B,U+326-328,U+32C,U+337-338,U+342-343,U+346-36F,U+E3F,U+1DC0-1DF5,U+1DFC-1DFF,U+2070-2071,U+2074-208E,U+2090-209C,U+20DB-20DE,U+20E8,U+20F0,U+2100-2101,U+2103,U+2105-2106,U+2109,U+2117,U+211E-2121,U+2126,U+212A-212B,U+212E,U+2132,U+213B,U+214D,U+2150-217F,U+2183-2186,U+2189,U+2190,U+2192,U+2194-2199,U+21AA,U+21B0-21B1,U+21B3-21B5,U+21BA-21BB,U+21D0,U+21D2,U+21D4,U+21DE-21DF,U+21E4-21E5,U+21E7,U+21EA,U+2202,U+2205-2206,U+220F,U+2211,U+221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+2295-2298,U+2303-2305,U+2325-2327,U+232B,U+2380,U+2387,U+238B,U+23CE-23CF,U+2423,U+2460-2468,U+24B6-24CF,U+24EA,U+25A0-25A2,U+25AA,U+25B2-25B3,U+25B6-25B7,U+25BA-25BD,U+25C0-25C1,U+25C4-25C7,U+25CA-25CB,U+25CF,U+25E6,U+25EF,U+2600,U+2605-2606,U+263C,U+2661,U+2665,U+266A-266B,U+26A0,U+2713,U+2717,U+2756,U+2764,U+2780-2788,U+27EF,U+27F5-27FA,U+2913,U+2A38,U+2B06,U+2B12-2B13,U+2B1C,U+2B24,U+2E18,U+A92E,U+1F12F-1F149,U+1F16A-1F16B,U+1F850,U+1F852}@font-face{font-family:Inter Core;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-cyrillic-ext._dlW9xFb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Core;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-cyrillic.D7dRslh9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Core;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-greek-ext.Ct-Tf2bq.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Core;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-greek.DNcpQ8QC.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Core;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-vietnamese.BI5UxJD-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Core;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-latin-ext.DytegdRQ.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C3,U+2C5,U+2C8,U+2CC,U+2CE-2CF,U+2D1-2D7,U+2DE,U+2E0-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Core;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-latin.CoImASkB.woff2)format("woff2");unicode-range:U+0-7D,U+7F-B6,U+B8-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-2012,U+2016-2017,U+201A-201B,U+201E-2025,U+2027-203A,U+203C-206F,U+20AC,U+2122,U+2191,U+2193,U+21A9,U+2212,U+2215,U+2318,U+FEFF,U+FFFD}@font-face{font-family:Inter Core;font-style:italic;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-italic-symbols.DBflboKE.woff2)format("woff2");unicode-range:U+302,U+306-307,U+30A,U+30C,U+30F,U+313,U+315,U+31B,U+326-328,U+32C,U+337-338,U+342-343,U+346-36F,U+E3F,U+1DC0-1DF5,U+1DFC-1DFF,U+2070-2071,U+2075-207E,U+2080,U+2085-208E,U+2090-209C,U+20DB-20DE,U+20E8,U+20F0,U+2100-2101,U+2106,U+2117,U+211E-2120,U+212A,U+212E,U+2132,U+213B,U+214D,U+2150-2152,U+2155-215A,U+215F,U+216C-216F,U+217A-217F,U+2183-2186,U+21AA,U+21B0-21B1,U+21B3-21B5,U+21BA-21BB,U+21D0,U+21DE-21DF,U+21E4-21E5,U+21EA,U+2205-2206,U+2296-2298,U+2303-2305,U+2325-2327,U+232B,U+2380,U+2387,U+238B,U+23CE-23CF,U+2423,U+24EA,U+25A2,U+25AA,U+25BA-25BB,U+25C4-25C5,U+25CA,U+25E6,U+2600,U+263C,U+266B,U+26A0,U+2713,U+2717,U+2756,U+2764,U+2780-2788,U+27EF,U+27F5-27FA,U+2913,U+2A38,U+2B06,U+2B12-2B13,U+2B24,U+2E18,U+A92E,U+1F12F,U+1F16A-1F16B,U+1F850,U+1F852}@font-face{font-family:Inter Core;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-cyrillic-ext.BeNbU08G.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Core;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-cyrillic.CD0kT8R4.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Core;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-greek-ext.CFAEQ5Ow.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Core;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-greek.Dsf7YjP7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Core;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-vietnamese.CpqCnS2H.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Core;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-latin-ext.Dl_ayf4-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C3,U+2C5,U+2C8,U+2CC,U+2CE-2CF,U+2D1-2D7,U+2DE,U+2E0-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Core;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-latin.BOE8-mWI.woff2)format("woff2");unicode-range:U+0-7D,U+7F-B6,U+B8-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-2012,U+2016-2017,U+201A-201B,U+201E-2025,U+2027-203A,U+203C-206F,U+20AC,U+2122,U+2191,U+2193,U+21A9,U+2212,U+2215,U+2318,U+FEFF,U+FFFD}@font-face{font-family:Inter Core;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://registry.npmmirror.com/@gkd-kit/docs/0.0.1792080613269/files/.vitepress/dist/assets/inter-roman-symbols.w-B2-dTa.woff2)format("woff2");unicode-range:U+302,U+306-307,U+30A,U+30C,U+30F,U+313,U+315,U+31B,U+326-328,U+32C,U+337-338,U+342-343,U+346-36F,U+E3F,U+1DC0-1DF5,U+1DFC-1DFF,U+2070-2071,U+2075-207E,U+2080,U+2085-208E,U+2090-209C,U+20DB-20DE,U+20E8,U+20F0,U+2100-2101,U+2106,U+2117,U+211E-2120,U+212A,U+212E,U+2132,U+213B,U+214D,U+2150-2152,U+2155-215A,U+215F,U+216C-216F,U+217A-217F,U+2183-2186,U+21AA,U+21B0-21B1,U+21B3-21B5,U+21BA-21BB,U+21D0,U+21DE-21DF,U+21E4-21E5,U+21EA,U+2205-2206,U+2296-2298,U+2303-2305,U+2325-2327,U+232B,U+2380,U+2387,U+238B,U+23CE-23CF,U+2423,U+24EA,U+25A2,U+25AA,U+25BA-25BB,U+25C4-25C5,U+25CA,U+25E6,U+2600,U+263C,U+266B,U+26A0,U+2713,U+2717,U+2756,U+2764,U+2780-2788,U+27EF,U+27F5-27FA,U+2913,U+2A38,U+2B06,U+2B12-2B13,U+2B24,U+2E18,U+A92E,U+1F12F,U+1F16A-1F16B,U+1F850,U+1F852}:root{--vp-font-family-base:"Inter", -apple-system, BlinkMacSystemFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}[lang]:where(:lang(zh)){--vp-font-family-base:"Inter Core", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}[lang]:where(:lang(ja)){--vp-font-family-base:"Inter Core", "Hiragino Sans", "Meiryo", "Yu Gothic", "Noto Sans CJK JP", -apple-system, BlinkMacSystemFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}[lang]:where(:lang(ko)){--vp-font-family-base:"Inter Core", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", -apple-system, BlinkMacSystemFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}body:not(.mobile):-webkit-scrollbar{display:none}html:not(.mobile){scrollbar-width:none;width:100vw;height:100vh}img.VPImage.logo{border-radius:50%}img.VPImage.image-src{height:100%}.image-preview{vertical-align:middle;cursor:zoom-in;outline:none;max-width:100%;display:inline-flex}.image-preview:focus-visible{box-shadow:0 0 0 2px var(--vp-c-brand-1);border-radius:4px}.image-preview--disabled{cursor:default}.image-preview__image{max-width:100%;height:auto;display:block}.image-preview-overlay{z-index:10000;color:#fff;user-select:none;background:#000000e0;outline:none;position:fixed;top:0;bottom:0;left:0;right:0}.image-preview-overlay__stage{justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.image-preview-overlay__image{object-fit:contain;transform-origin:50%;user-select:none;max-width:min(92vw,1600px);max-height:84vh;transition:transform .16s}.image-preview-overlay__close,.image-preview-overlay__nav,.image-preview-overlay__tool{color:inherit;cursor:pointer;background:#ffffff1f;border:0;transition:background-color .16s}.image-preview-overlay__close:hover,.image-preview-overlay__nav:hover,.image-preview-overlay__tool:hover{background:#ffffff3d}.image-preview-overlay__close:focus-visible{outline-offset:2px;outline:2px solid #fff}.image-preview-overlay__nav:focus-visible{outline-offset:2px;outline:2px solid #fff}.image-preview-overlay__tool:focus-visible{outline-offset:2px;outline:2px solid #fff}.image-preview-overlay__close{z-index:2;border-radius:50%;width:44px;height:44px;font-size:32px;line-height:1;position:absolute;top:20px;right:20px}.image-preview-overlay__nav{z-index:2;border-radius:8px;justify-content:center;align-items:center;width:48px;height:64px;padding:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-preview-overlay__nav-icon{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:32px;height:32px}.image-preview-overlay__nav-icon--next{transform:scaleX(-1)}.image-preview-overlay__nav--prev{left:20px}.image-preview-overlay__nav--next{right:20px}.image-preview-overlay__toolbar{z-index:2;background:#0000008c;border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.image-preview-overlay__tool{border-radius:6px;min-width:40px;height:36px;padding:0 10px;font-size:16px}.image-preview-overlay__counter{text-align:center;min-width:52px}@media (max-width:640px){.image-preview-overlay__close{top:12px;right:12px}.image-preview-overlay__nav{width:40px;height:56px}.image-preview-overlay__nav--prev{left:8px}.image-preview-overlay__nav--next{right:8px}.image-preview-overlay__toolbar{max-width:calc(100vw - 24px);bottom:12px}.image-preview-overlay__tool{min-width:36px;padding:0 8px}}:root{--vp-home-hero-name-color:transparent;--vp-home-hero-name-background:-webkit-linear-gradient(120deg, #bd34fe 30%, #41d1ff);--vp-home-hero-image-background-image:linear-gradient(-45deg, #bd34fe 50%, #47caff 50%);--vp-home-hero-image-filter:blur(44px)}@media (min-width:640px){:root{--vp-home-hero-image-filter:blur(56px)}}@media (min-width:960px){:root{--vp-home-hero-image-filter:blur(68px)}}@keyframes hash-hint{0%{background-color:#95b4a820}to{background-color:#95b4a8}}.animate-hash-hint{animation:.5s ease-in-out infinite alternate hash-hint}.svg-icon{height:1em}.VPLocalSearchBox[data-v-f42494b4]{z-index:100;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.backdrop[data-v-f42494b4]{background:var(--vp-backdrop-bg-color);transition:opacity .5s;position:absolute;top:0;bottom:0;left:0;right:0}.shell[data-v-f42494b4]{background:var(--vp-local-search-bg);border-radius:6px;flex-direction:column;gap:16px;width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);margin:64px auto;padding:12px;display:flex;position:relative}@media (max-width:767px){.shell[data-v-f42494b4]{border-radius:0;width:100vw;height:100vh;max-height:none;margin:0}}.search-bar[data-v-f42494b4]{border:1px solid var(--vp-c-divider);cursor:text;border-radius:4px;align-items:center;padding:0 12px;display:flex}@media (max-width:767px){.search-bar[data-v-f42494b4]{padding:0 8px}}.search-bar[data-v-f42494b4]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-f42494b4]{font-size:18px;display:block}.navigate-icon[data-v-f42494b4]{font-size:14px;display:block}.search-icon[data-v-f42494b4]{margin:8px}@media (max-width:767px){.search-icon[data-v-f42494b4]{display:none}}.search-input[data-v-f42494b4]{font-size:inherit;width:100%;padding:6px 12px}.search-input[data-v-f42494b4]::-webkit-search-cancel-button{display:none}@media (max-width:767px){.search-input[data-v-f42494b4]{padding:6px 4px}}.search-actions[data-v-f42494b4]{gap:4px;display:flex}@media (any-pointer:coarse){.search-actions[data-v-f42494b4]{gap:8px}}@media (min-width:768px){.search-actions.before[data-v-f42494b4]{display:none}}.search-actions button[data-v-f42494b4]{padding:8px}.search-actions button[data-v-f42494b4]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-f42494b4]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-f42494b4]:disabled{opacity:.37}.search-loading[data-v-f42494b4]{visibility:hidden;border:2px solid var(--vp-c-divider);border-top-color:var(--vp-c-brand-1);border-radius:50%;flex:none;width:18px;height:18px;margin:8px}.search-loading.active[data-v-f42494b4]{visibility:visible;animation:.8s linear infinite local-search-loading-f42494b4}@media (prefers-reduced-motion:reduce){.search-loading.active[data-v-f42494b4]{animation:none}}@keyframes local-search-loading-f42494b4{to{transform:rotate(360deg)}}.search-keyboard-shortcuts[data-v-f42494b4]{opacity:.75;flex-wrap:wrap;gap:16px;font-size:.8rem;line-height:14px;display:flex}.search-keyboard-shortcuts span[data-v-f42494b4]{align-items:center;gap:4px;display:flex}@media (max-width:767px){.search-keyboard-shortcuts[data-v-f42494b4]{display:none}}.search-keyboard-shortcuts kbd[data-v-f42494b4]{text-align:center;vertical-align:middle;background:#8080801a;border:1px solid #80808026;border-radius:4px;min-width:24px;padding:3px 6px;display:inline-block;box-shadow:0 2px 2px #0000001a}.results[data-v-f42494b4]{overscroll-behavior:contain;flex-direction:column;gap:6px;display:flex;overflow:hidden auto}.result[data-v-f42494b4]{border:solid 2px var(--vp-local-search-result-border);border-radius:4px;outline:none;align-items:center;gap:8px;line-height:1rem;transition:none;display:flex}.result>div[data-v-f42494b4]{width:100%;margin:12px;overflow:hidden}@media (max-width:767px){.result>div[data-v-f42494b4]{margin:8px}}.titles[data-v-f42494b4]{z-index:1001;flex-wrap:wrap;gap:4px;padding:2px 0;display:flex;position:relative}.title[data-v-f42494b4]{align-items:center;gap:4px;display:flex}.title.main[data-v-f42494b4]{font-weight:500}.title-icon[data-v-f42494b4]{opacity:.5;color:var(--vp-c-brand-1);font-weight:500}.title svg[data-v-f42494b4]{opacity:.5}.result.selected[data-v-f42494b4]{--vp-local-search-result-bg:var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-f42494b4]{position:relative}.excerpt[data-v-f42494b4]{opacity:.5;pointer-events:none;max-height:140px;margin-top:4px;position:relative;overflow:hidden}.result.selected .excerpt[data-v-f42494b4]{opacity:1}.excerpt[data-v-f42494b4] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-f42494b4] mark,.excerpt[data-v-f42494b4] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-f42494b4] .vp-code-group .tabs{display:none}.excerpt[data-v-f42494b4] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-f42494b4]{background:linear-gradient(transparent, var(--vp-local-search-result-bg));z-index:1000;width:100%;height:8px;position:absolute;bottom:-1px;left:0}.excerpt-gradient-top[data-v-f42494b4]{background:linear-gradient(var(--vp-local-search-result-bg), transparent);z-index:1000;width:100%;height:8px;position:absolute;top:-1px;left:0}.result.selected .titles[data-v-f42494b4],.result.selected .title-icon[data-v-f42494b4]{color:var(--vp-c-brand-1)!important}.no-results[data-v-f42494b4]{text-align:center;padding:12px;font-size:.9rem}svg[data-v-f42494b4]{flex:none}
|
|
2
|
-
/*$vite$:1*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.vpi-social-github{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}
|