From 21f0fae44c87eb633a5287864cef7839f3b545b4 Mon Sep 17 00:00:00 2001 From: crystall1nedev Date: Wed, 29 May 2024 19:43:31 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20PojavLau?= =?UTF-8?q?ncherTeam/pojavlauncherteam.github.io@a6a947a1a8db2a8cc86ec1b34?= =?UTF-8?q?d025288efdc8bf6=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 117CC.html | 8 ++--- 32BIT.html | 10 +++--- 3PTYCLIENTS.html | 8 ++--- 404.html | 8 ++--- ABOUTPOJAV.html | 8 ++--- BUILD-FROM-SOURCE.html | 8 ++--- CONT-POJAV.html | 8 ++--- CONT-TRANSLATIONS.html | 8 ++--- CONT-WEBSITE.html | 8 ++--- CUSTOM-CONTROLS.html | 8 ++--- CUSTOM-MC.html | 8 ++--- DEBUG-LOG.html | 8 ++--- DEFAULT-CONTROLS.html | 12 +++---- DEVICES.html | 10 +++--- ENV-VARS.html | 8 ++--- FFMPEG.html | 10 +++--- FIRST-STEPS.html | 8 ++--- INSTALL-MC.html | 8 ++--- INSTALL.html | 26 +++++++++++---- IOS-SUPPORT.html | 8 ++--- JAVA-ARGS.html | 8 ++--- JETSAM.html | 33 ------------------- JIT.html | 14 ++++---- LEGAL.html | 8 ++--- LOCAL-MODE.html | 8 ++--- MCVERS.html | 8 ++--- MODDED-MC.html | 8 ++--- MODPACKS.html | 8 ++--- MODS-UNSUPPORTED.html | 8 ++--- NOTCHFIX.html | 8 ++--- OPTIMIZATION.html | 8 ++--- PARSINGERROR.html | 8 ++--- REFUSALOFINSTALL.html | 8 ++--- RENDERERS.html | 10 +++--- ROADMAP.html | 8 ++--- SHADERS.html | 10 +++--- SIGN-IN.html | 10 +++--- UNJAIL.html | 8 ++--- ZINK.html | 8 ++--- archived_pages/DEVICES_LINUX_INCL.html | 8 ++--- archived_pages/JDK8.html | 8 ++--- archived_pages/OGL32.html | 8 ++--- archived_pages/PARTNERSHIPS.html | 8 ++--- archived_pages/RIP-A7.html | 8 ++--- archived_pages/index.html | 8 ++--- ...les.42397d2a.css => 0.styles.b1f8ece6.css} | 2 +- assets/js/1.d8af5f3e.js | 1 + assets/js/10.e555fd02.js | 1 - assets/js/11.7d75510d.js | 1 + assets/js/12.a64770f8.js | 1 + assets/js/13.21d94be4.js | 1 + assets/js/14.6793f549.js | 1 + assets/js/15.fe5510f3.js | 1 + assets/js/16.3c124f7a.js | 1 + assets/js/17.05043320.js | 1 + assets/js/18.d2c40863.js | 1 + assets/js/19.c3be6c62.js | 1 + assets/js/2.b5dad6a6.js | 1 - assets/js/2.e6250298.js | 1 + assets/js/20.0f28f71f.js | 1 + assets/js/21.8b8f3534.js | 1 + assets/js/22.dba81abb.js | 1 + assets/js/23.aa0d4a67.js | 1 + assets/js/24.611be38c.js | 1 + assets/js/25.2b3bdc86.js | 1 + assets/js/26.df41eaef.js | 1 + assets/js/{26.f62f3277.js => 27.29ae2cf7.js} | 2 +- assets/js/{12.81fd8baa.js => 28.e93ec458.js} | 2 +- assets/js/{13.eac25def.js => 29.1bd07c93.js} | 2 +- assets/js/3.052e87d0.js | 1 - assets/js/3.37c0b95d.js | 1 + assets/js/30.56b12711.js | 1 - assets/js/{14.06dcf2b1.js => 30.d4ea725b.js} | 2 +- assets/js/{15.2a96030a.js => 31.9c0439af.js} | 2 +- assets/js/{16.bfca10ac.js => 32.e7560591.js} | 2 +- assets/js/{17.eac693f8.js => 33.09b39dbb.js} | 2 +- assets/js/{18.aaf4b3d2.js => 34.72e5ce28.js} | 2 +- assets/js/{19.8ceca810.js => 35.d2eb66b0.js} | 2 +- assets/js/{20.8be6c834.js => 36.6e902da2.js} | 2 +- assets/js/{21.d97df2f9.js => 37.d3ee1f74.js} | 2 +- assets/js/{22.93755b4a.js => 38.16ac72a4.js} | 2 +- assets/js/{23.7b4c5259.js => 39.7db50209.js} | 2 +- assets/js/4.316e5f5f.js | 1 - assets/js/{5.3ff7fb0d.js => 4.e6f48413.js} | 2 +- assets/js/{24.6c1918dd.js => 40.fe02d249.js} | 2 +- assets/js/{25.780f8976.js => 41.1959125e.js} | 2 +- assets/js/{38.8769872e.js => 42.d6258fce.js} | 2 +- assets/js/{27.d28bbb68.js => 43.db498763.js} | 2 +- assets/js/{28.79ea1398.js => 44.7510a05e.js} | 2 +- assets/js/{29.c4bc73ac.js => 45.ba76426b.js} | 2 +- assets/js/46.59246ac6.js | 1 - assets/js/{31.9edeff12.js => 46.a1a5f27f.js} | 2 +- assets/js/{32.15310ca2.js => 47.61a3fcea.js} | 2 +- assets/js/48.dfd1e8ba.js | 1 - assets/js/{33.d6c22520.js => 48.fd6c9f45.js} | 2 +- assets/js/{34.6103cd03.js => 49.fcf2aa34.js} | 2 +- assets/js/{6.bee98ddd.js => 5.bce71880.js} | 2 +- assets/js/{35.1e62d38b.js => 50.1fc002c3.js} | 2 +- assets/js/{36.1c45ac60.js => 51.09b39f58.js} | 2 +- assets/js/{37.a15bb37e.js => 52.1544aa8c.js} | 2 +- assets/js/{41.6e1744cd.js => 53.4f87c9f3.js} | 2 +- assets/js/{39.4e25d460.js => 54.e2fffb94.js} | 2 +- assets/js/{40.e994791b.js => 55.da1955d1.js} | 2 +- assets/js/{11.b35faf6d.js => 56.6d004fc7.js} | 2 +- assets/js/{42.f0356c6c.js => 57.8c8d3453.js} | 2 +- assets/js/{43.088dff05.js => 58.00fdb99e.js} | 2 +- assets/js/{44.83fe3c2c.js => 59.dd1078a6.js} | 2 +- assets/js/{7.6255578e.js => 6.ee0a4a79.js} | 2 +- assets/js/{45.b00aa9aa.js => 60.11938885.js} | 2 +- assets/js/61.fb894c8f.js | 1 + assets/js/{47.487e7264.js => 62.192fdf9c.js} | 2 +- assets/js/63.28881853.js | 1 + assets/js/{49.56b20346.js => 64.2e1ed2e4.js} | 2 +- assets/js/{50.45f07609.js => 65.3dbb72f8.js} | 2 +- assets/js/{51.6ee9d58f.js => 66.1a846f2e.js} | 2 +- assets/js/{52.c4bef7b4.js => 67.bc7f70c7.js} | 2 +- assets/js/{53.187db802.js => 68.51da814f.js} | 2 +- assets/js/{54.f3f03b1e.js => 69.d4c8f85b.js} | 2 +- assets/js/{9.e5ffc2fa.js => 7.218a6f59.js} | 2 +- assets/js/{55.28dc2b2d.js => 70.2799fb75.js} | 2 +- assets/js/{56.e8d0506c.js => 71.1b412f23.js} | 2 +- assets/js/{57.0d04630e.js => 72.e75b37a6.js} | 2 +- assets/js/8.982fd99a.js | 1 - assets/js/8.98f63cd5.js | 1 + assets/js/app.4a7f7b6f.js | 16 +++++++++ assets/js/app.f1481308.js | 16 --------- assets/js/vendors~docsearch.9acfc3ae.js | 3 ++ changelogs/ANDROID.html | 10 +++--- changelogs/IOS.html | 8 ++--- images/index.html | 8 ++--- index.html | 8 ++--- 131 files changed, 309 insertions(+), 313 deletions(-) delete mode 100644 JETSAM.html rename assets/css/{0.styles.42397d2a.css => 0.styles.b1f8ece6.css} (53%) create mode 100644 assets/js/1.d8af5f3e.js delete mode 100644 assets/js/10.e555fd02.js create mode 100644 assets/js/11.7d75510d.js create mode 100644 assets/js/12.a64770f8.js create mode 100644 assets/js/13.21d94be4.js create mode 100644 assets/js/14.6793f549.js create mode 100644 assets/js/15.fe5510f3.js create mode 100644 assets/js/16.3c124f7a.js create mode 100644 assets/js/17.05043320.js create mode 100644 assets/js/18.d2c40863.js create mode 100644 assets/js/19.c3be6c62.js delete mode 100644 assets/js/2.b5dad6a6.js create mode 100644 assets/js/2.e6250298.js create mode 100644 assets/js/20.0f28f71f.js create mode 100644 assets/js/21.8b8f3534.js create mode 100644 assets/js/22.dba81abb.js create mode 100644 assets/js/23.aa0d4a67.js create mode 100644 assets/js/24.611be38c.js create mode 100644 assets/js/25.2b3bdc86.js create mode 100644 assets/js/26.df41eaef.js rename assets/js/{26.f62f3277.js => 27.29ae2cf7.js} (54%) rename assets/js/{12.81fd8baa.js => 28.e93ec458.js} (95%) rename assets/js/{13.eac25def.js => 29.1bd07c93.js} (58%) delete mode 100644 assets/js/3.052e87d0.js create mode 100644 assets/js/3.37c0b95d.js delete mode 100644 assets/js/30.56b12711.js rename assets/js/{14.06dcf2b1.js => 30.d4ea725b.js} (98%) rename assets/js/{15.2a96030a.js => 31.9c0439af.js} (98%) rename assets/js/{16.bfca10ac.js => 32.e7560591.js} (74%) rename assets/js/{17.eac693f8.js => 33.09b39dbb.js} (95%) rename assets/js/{18.aaf4b3d2.js => 34.72e5ce28.js} (96%) rename assets/js/{19.8ceca810.js => 35.d2eb66b0.js} (74%) rename assets/js/{20.8be6c834.js => 36.6e902da2.js} (95%) rename assets/js/{21.d97df2f9.js => 37.d3ee1f74.js} (74%) rename assets/js/{22.93755b4a.js => 38.16ac72a4.js} (73%) rename assets/js/{23.7b4c5259.js => 39.7db50209.js} (89%) delete mode 100644 assets/js/4.316e5f5f.js rename assets/js/{5.3ff7fb0d.js => 4.e6f48413.js} (65%) rename assets/js/{24.6c1918dd.js => 40.fe02d249.js} (73%) rename assets/js/{25.780f8976.js => 41.1959125e.js} (94%) rename assets/js/{38.8769872e.js => 42.d6258fce.js} (54%) rename assets/js/{27.d28bbb68.js => 43.db498763.js} (73%) rename assets/js/{28.79ea1398.js => 44.7510a05e.js} (97%) rename assets/js/{29.c4bc73ac.js => 45.ba76426b.js} (73%) delete mode 100644 assets/js/46.59246ac6.js rename assets/js/{31.9edeff12.js => 46.a1a5f27f.js} (73%) rename assets/js/{32.15310ca2.js => 47.61a3fcea.js} (92%) delete mode 100644 assets/js/48.dfd1e8ba.js rename assets/js/{33.d6c22520.js => 48.fd6c9f45.js} (89%) rename assets/js/{34.6103cd03.js => 49.fcf2aa34.js} (89%) rename assets/js/{6.bee98ddd.js => 5.bce71880.js} (88%) rename assets/js/{35.1e62d38b.js => 50.1fc002c3.js} (95%) rename assets/js/{36.1c45ac60.js => 51.09b39f58.js} (93%) rename assets/js/{37.a15bb37e.js => 52.1544aa8c.js} (99%) rename assets/js/{41.6e1744cd.js => 53.4f87c9f3.js} (54%) rename assets/js/{39.4e25d460.js => 54.e2fffb94.js} (95%) rename assets/js/{40.e994791b.js => 55.da1955d1.js} (90%) rename assets/js/{11.b35faf6d.js => 56.6d004fc7.js} (54%) rename assets/js/{42.f0356c6c.js => 57.8c8d3453.js} (96%) rename assets/js/{43.088dff05.js => 58.00fdb99e.js} (96%) rename assets/js/{44.83fe3c2c.js => 59.dd1078a6.js} (73%) rename assets/js/{7.6255578e.js => 6.ee0a4a79.js} (60%) rename assets/js/{45.b00aa9aa.js => 60.11938885.js} (91%) create mode 100644 assets/js/61.fb894c8f.js rename assets/js/{47.487e7264.js => 62.192fdf9c.js} (85%) create mode 100644 assets/js/63.28881853.js rename assets/js/{49.56b20346.js => 64.2e1ed2e4.js} (96%) rename assets/js/{50.45f07609.js => 65.3dbb72f8.js} (72%) rename assets/js/{51.6ee9d58f.js => 66.1a846f2e.js} (98%) rename assets/js/{52.c4bef7b4.js => 67.bc7f70c7.js} (74%) rename assets/js/{53.187db802.js => 68.51da814f.js} (91%) rename assets/js/{54.f3f03b1e.js => 69.d4c8f85b.js} (94%) rename assets/js/{9.e5ffc2fa.js => 7.218a6f59.js} (83%) rename assets/js/{55.28dc2b2d.js => 70.2799fb75.js} (69%) rename assets/js/{56.e8d0506c.js => 71.1b412f23.js} (99%) rename assets/js/{57.0d04630e.js => 72.e75b37a6.js} (93%) delete mode 100644 assets/js/8.982fd99a.js create mode 100644 assets/js/8.98f63cd5.js create mode 100644 assets/js/app.4a7f7b6f.js delete mode 100644 assets/js/app.f1481308.js create mode 100644 assets/js/vendors~docsearch.9acfc3ae.js diff --git a/117CC.html b/117CC.html index c229619e..2b3d01f3 100644 --- a/117CC.html +++ b/117CC.html @@ -4,15 +4,15 @@ PojavLauncher - + - - + +
- + diff --git a/32BIT.html b/32BIT.html index 14a758a7..ef629914 100644 --- a/32BIT.html +++ b/32BIT.html @@ -4,22 +4,22 @@ PojavLauncher's 32-bit support | PojavLauncher - + - - + +

# PojavLauncher's 32-bit support

Most of you, Android users, who are reading this now, won't be bothered by this documentation, but for the poor souls who have a 32-bit device, let's press L F to pay respect to them.

Before ARM transitioned into the more-powerful, more-utilizing arm64/aarch64 architecture; everyone was using arm/aarch32

We're not here to give you historical information of it, but feel free to read this documentary about the ARM platform. (opens new window)

You may encounter issues while using PojavLauncher on 32-bit devices. Here's a list of stuff that's known to be problematic:

# RAM Allocation

  • Real 32-bit devices (32-bit hardware and firmware), can't allocate more than 768MB of RAM to PojavLauncher. This can't be changed even if the device has more free RAM.
  • Examples of real 32-bit SoCs: Qualcomm Snapdragon 801, 800, 600, 400, S4, S3, S2, S1
  • 64-bit devices limited to 32-bit firmware can't allocate more than ~1000MB of RAM. As said earlier, this can't be changed.
  • Examples of 64-bit SoCs limited to 32-bit firmware: MediaTek Helio G37, G35, G25, P35, P25, P23, P22

# Performance

Due to 32-bit's processing speed limit, Minecraft's performance is always compromised. Even with optimization mods installed, you may get big stutters even on lowest settings. Decreasing RAM Allocation may help performance in certain scenarios.

- + diff --git a/3PTYCLIENTS.html b/3PTYCLIENTS.html index 8dbfeb5d..b6cd95e3 100644 --- a/3PTYCLIENTS.html +++ b/3PTYCLIENTS.html @@ -4,15 +4,15 @@ PojavLauncher - + - - + + - + diff --git a/404.html b/404.html index 50b0998b..de2bae19 100644 --- a/404.html +++ b/404.html @@ -4,20 +4,20 @@ PojavLauncher - + - - + +

404

That's a Four-Oh-Four.
Take me home.
- + diff --git a/ABOUTPOJAV.html b/ABOUTPOJAV.html index 9c91af05..fc999ede 100644 --- a/ABOUTPOJAV.html +++ b/ABOUTPOJAV.html @@ -4,15 +4,15 @@ PojavLauncher | PojavLauncher - + - - + +

# PojavLauncher

# From the ashes of zhouwei's Boardwalk project comes PojavLauncher, a capable, fast, and open-source Minecraft: Java Edition launcher for Android and iOS.

PojavLauncher is based off of zhouwei's Boardwalk project, which brought Minecraft 1.13 to Android. Improved upon and revived by the team, PojavLauncher brings Boardwalk to new heights with more versions, more devices, and even iOS support.

Right now, you're looking at the PojavLauncher website, with information regarding the launcher and various guides on how to navigate, operate, and get to playing. Take a look around, there's more in store!

# Credits

PojavLauncher didn't just appear out of thin air, but was made possible by the following people!

@PojavLauncherTeam (opens new window), which includes

...and many more contributors to the Android (opens new window) and iOS (opens new window) repositories.

PojavLauncher also uses the following third-party components:

# Special thanks to these guys

- + diff --git a/BUILD-FROM-SOURCE.html b/BUILD-FROM-SOURCE.html index 53831e1d..cef1dfdc 100644 --- a/BUILD-FROM-SOURCE.html +++ b/BUILD-FROM-SOURCE.html @@ -4,15 +4,15 @@ Building from source | PojavLauncher - + - - + + - + diff --git a/CONT-POJAV.html b/CONT-POJAV.html index 990dc371..7d938b01 100644 --- a/CONT-POJAV.html +++ b/CONT-POJAV.html @@ -4,15 +4,15 @@ Contributing to PojavLauncher itself | PojavLauncher - + - - + + - + diff --git a/CONT-TRANSLATIONS.html b/CONT-TRANSLATIONS.html index 581bc720..ffe35a5c 100644 --- a/CONT-TRANSLATIONS.html +++ b/CONT-TRANSLATIONS.html @@ -4,15 +4,15 @@ Contributing to the translation of PojavLauncher | PojavLauncher - + - - + + - + diff --git a/CONT-WEBSITE.html b/CONT-WEBSITE.html index 2b232fba..415f518a 100644 --- a/CONT-WEBSITE.html +++ b/CONT-WEBSITE.html @@ -4,15 +4,15 @@ Contributing to this website | PojavLauncher - + - - + + - + diff --git a/CUSTOM-CONTROLS.html b/CUSTOM-CONTROLS.html index 3c9e450f..276eb6b1 100644 --- a/CUSTOM-CONTROLS.html +++ b/CUSTOM-CONTROLS.html @@ -4,15 +4,15 @@ Customizing the on-screen controls | PojavLauncher - + - - + + - + diff --git a/CUSTOM-MC.html b/CUSTOM-MC.html index 156d67c6..4c2182c0 100644 --- a/CUSTOM-MC.html +++ b/CUSTOM-MC.html @@ -4,15 +4,15 @@ Installing custom versions of Minecraft | PojavLauncher - + - - + + - + diff --git a/DEBUG-LOG.html b/DEBUG-LOG.html index c22fa38d..346c9679 100644 --- a/DEBUG-LOG.html +++ b/DEBUG-LOG.html @@ -4,15 +4,15 @@ Debugging issues with the launcher | PojavLauncher - + - - + + - + diff --git a/DEFAULT-CONTROLS.html b/DEFAULT-CONTROLS.html index dfd78b8f..530e192d 100644 --- a/DEFAULT-CONTROLS.html +++ b/DEFAULT-CONTROLS.html @@ -4,15 +4,15 @@ Taking a look at the controls | PojavLauncher - + - - + + - + diff --git a/DEVICES.html b/DEVICES.html index 36c99edb..0d112909 100644 --- a/DEVICES.html +++ b/DEVICES.html @@ -4,15 +4,15 @@ Device requirements | PojavLauncher - + - - + +

# Device requirements

# Android

# Minimum requirements:

  • Qualcomm Snapdragon 400 (or equivalent)
  • Android 5.0
  • 1GB RAM
  • Qualcomm Snapdragon 820 (or equivalent) with Vulkan API support
  • Android 8.0 and newer
  • 4GB RAM

# ChromeOS

  • Chromebooks have very similar system requirements, however Android version does not matter, as long as you can install Android apps.

# iOS

# Minimum requirements:

  • Apple A8 SoC -
    • The Apple A7 SoC is losing support in PojavLauncher 2.3.
  • iOS 12
  • 1GB RAM
  • Apple A10/A10X Fusion SoC
  • iOS 14
  • 2GB RAM
- + diff --git a/ENV-VARS.html b/ENV-VARS.html index abdf45b4..8defa56b 100644 --- a/ENV-VARS.html +++ b/ENV-VARS.html @@ -4,15 +4,15 @@ Using environment variables | PojavLauncher - + - - + + - + diff --git a/FFMPEG.html b/FFMPEG.html index 173fbeb2..33ca7a83 100644 --- a/FFMPEG.html +++ b/FFMPEG.html @@ -4,15 +4,15 @@ Exporting videos with Replay Mod | PojavLauncher - + - - + +
- + diff --git a/FIRST-STEPS.html b/FIRST-STEPS.html index c1c371c1..cdd739ec 100644 --- a/FIRST-STEPS.html +++ b/FIRST-STEPS.html @@ -4,15 +4,15 @@ PojavLauncher - + - - + + - + diff --git a/INSTALL-MC.html b/INSTALL-MC.html index 24ccbe72..078bfdb8 100644 --- a/INSTALL-MC.html +++ b/INSTALL-MC.html @@ -4,15 +4,15 @@ Downloading a copy of Minecraft | PojavLauncher - + - - + + - + diff --git a/INSTALL.html b/INSTALL.html index e32df29b..de064f7f 100644 --- a/INSTALL.html +++ b/INSTALL.html @@ -4,15 +4,15 @@ Installing the launcher | PojavLauncher - + - - + +
- + diff --git a/IOS-SUPPORT.html b/IOS-SUPPORT.html index 7b2c395e..9ce6eb31 100644 --- a/IOS-SUPPORT.html +++ b/IOS-SUPPORT.html @@ -4,15 +4,15 @@ System support in future versions of PojavLauncher iOS | PojavLauncher - + - - + + - + diff --git a/JAVA-ARGS.html b/JAVA-ARGS.html index 04e707e9..4e7b702b 100644 --- a/JAVA-ARGS.html +++ b/JAVA-ARGS.html @@ -4,15 +4,15 @@ Adding custom Java arguments | PojavLauncher - + - - + + - + diff --git a/JETSAM.html b/JETSAM.html deleted file mode 100644 index 8464e662..00000000 --- a/JETSAM.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - Dealing with iOS memory limits | PojavLauncher - - - - - - - - - - - - - - - diff --git a/JIT.html b/JIT.html index d416caaa..49a2220a 100644 --- a/JIT.html +++ b/JIT.html @@ -4,30 +4,30 @@ iOS and "JIT" | PojavLauncher - + - - + +

# iOS and "JIT"

# What is JIT and why do I care?

JIT stands for just-in-time compilation, and (although not specific to Java), it serves as a method of executing Java code quicker then the alternatives, by compiling as-needed functions at runtime, rather than its slower alternatives to compile all code at runtime repeatedly or writing in a less portable, hardware-level format. It is the fastest method to running Minecraft: Java Edition on mobile devices, essentially required for a usable experience.

On Apple's mobile platforms (iOS, iPadOS, tvOS, in our case), a security feature known as code-signing is deeply rooted in the operation of the system. It serves to verify that applications haven't been tampered with after they were installed by a user, so that a malicious payload cannot be installed after-the-fact by a malicious someone. However, due to the process in which code-signing works, this prevents JIT from working properly as it works by reading code, modifying it, and then executing it in some fashion (whether that be by copying the code to a new location in memory, executing directly, or mirroring).

# What does this mean for PojavLauncher?

# Jailbroken devices

Jailbroken device users don't need to worry about JIT requirements, as PojavLauncher is built to detect jailbreaks and automatically enable new features.

# Unjailbroken devices

Unjailbroken users can see two different outcomes, based on what they used to sideload PojavLauncher.

# TrollStore

If you used TrollStore to sideload PojavLauncher, good news: PojavLauncher takes advantage of the extended capabilities with TrollStore and automatically enables JIT when launched.

# Normal sideload

If you sideload normally, you will need to enable JIT in some way. The most common method is to attach a debug server to the application while it's running - JITStreamer, AltStore, and Jitterbug all use this with their Jit enabling functions. The only downside to this method is that you are required to be connected to a WiFi network in order to enable JIT.

PojavLauncher has native integration with JITStreamer, and we recommend following the steps available here (opens new window) to get started. Alternatively, you can use AltStore (opens new window) or, for more advanced users, Jitterbug (opens new window). Methods not listed here are not confirmed or recommended by us for use with PojavLauncher.

- + diff --git a/LEGAL.html b/LEGAL.html index 74106b5a..8ecfe85f 100644 --- a/LEGAL.html +++ b/LEGAL.html @@ -4,15 +4,15 @@ Is PojavLauncher legal and safe to use? | PojavLauncher - + - - + + - + diff --git a/LOCAL-MODE.html b/LOCAL-MODE.html index cd4ef28d..268e8058 100644 --- a/LOCAL-MODE.html +++ b/LOCAL-MODE.html @@ -4,15 +4,15 @@ Offline mode is going places. | PojavLauncher - + - - + + - + diff --git a/MCVERS.html b/MCVERS.html index d19b383e..4bbba5af 100644 --- a/MCVERS.html +++ b/MCVERS.html @@ -4,15 +4,15 @@ Supported Minecraft versions | PojavLauncher - + - - + + - + diff --git a/MODDED-MC.html b/MODDED-MC.html index 0dfd8fba..8e4a4aed 100644 --- a/MODDED-MC.html +++ b/MODDED-MC.html @@ -4,15 +4,15 @@ Installing custom versions of Minecraft | PojavLauncher - + - - + +

# Installing custom versions of Minecraft

If you want an old mod or modpack to run (Minecraft 1.2.4 and older), this is for you. Warning, not for newcomers!

# Installation:

  1. If you are on Android, install MiXplorer (opens new window) and MiX Archive (opens new window)
  2. Make a copy of the Minecraft version you want to modify
  3. Rename the custom version folder, .jar and .json to your desired custom version name (for example, foo, foo.jar, foo.json)
  4. Open the custom version's .json with MiX's Text Editor
  5. Remove "downloads:{"client"...} as shown in the screenshot

custom2

  1. Change "id": "1.2.4" to "id": "(your custom version name)"
  2. Change "mainClass": "net.minecraft.launchwrapper.Launch" to "mainClass": "net.minecraft.client.Minecraft"
  3. Save the .json
  4. Modify your .jar as desired, make sure to delete the META-INF folder afterwards.
  5. Start up your custom version!

# Notes:

  • If your game is stuck at the Mojang screen afterwards, try deleting options.txt
  • This guide is NOT for Babric or Cursed Fabric!
- + diff --git a/MODPACKS.html b/MODPACKS.html index a22bceba..43f4bfba 100644 --- a/MODPACKS.html +++ b/MODPACKS.html @@ -4,15 +4,15 @@ Modpacks | PojavLauncher - + - - + + - + diff --git a/MODS-UNSUPPORTED.html b/MODS-UNSUPPORTED.html index 3a47e68c..a064a22c 100644 --- a/MODS-UNSUPPORTED.html +++ b/MODS-UNSUPPORTED.html @@ -4,15 +4,15 @@ Unsupported Mods and Clients | PojavLauncher - + - - + + - + diff --git a/NOTCHFIX.html b/NOTCHFIX.html index 6ef7d893..dfcd58d8 100644 --- a/NOTCHFIX.html +++ b/NOTCHFIX.html @@ -4,15 +4,15 @@ PojavLauncher - + - - + + - + diff --git a/OPTIMIZATION.html b/OPTIMIZATION.html index 204cc842..b2e10f4b 100644 --- a/OPTIMIZATION.html +++ b/OPTIMIZATION.html @@ -4,15 +4,15 @@ Optimizing the game | PojavLauncher - + - - + + - + diff --git a/PARSINGERROR.html b/PARSINGERROR.html index e387368d..d6193368 100644 --- a/PARSINGERROR.html +++ b/PARSINGERROR.html @@ -4,15 +4,15 @@ "There was a problem while parsing the package" error while installing | PojavLauncher - + - - + + - + diff --git a/REFUSALOFINSTALL.html b/REFUSALOFINSTALL.html index c985269a..375804da 100644 --- a/REFUSALOFINSTALL.html +++ b/REFUSALOFINSTALL.html @@ -4,15 +4,15 @@ "App not installed" | PojavLauncher - + - - + + - + diff --git a/RENDERERS.html b/RENDERERS.html index 84a3dbcc..35f67c6e 100644 --- a/RENDERERS.html +++ b/RENDERERS.html @@ -4,22 +4,22 @@ Renderers | PojavLauncher - + - - + +

# Renderers

Minecraft runs on OpenGL, and mobile devices generally only support OpenGL ES (GLES). And since Minecraft won't run on GLES, we have to use renderers as compatibility layers between OpenGL ES and OpenGL.

# Holy GL4ES

  • Designed for performance, Holy GL4ES is the default renderer in PojavLauncher and should be used in almost all scenrarios.
  • Supports OpenGL 2.1 and has shader converting capabilities, thus makes up for about 1/8 of the OpenGL 3.x standard.
  • Works on all versions of vanilla Minecraft.

# A screenshot of Holy GL4ES running Minecraft 1.19.4

holygl4es

# ANGLE

  • A bit slower than Holy GL4ES, runs on Vulkan. Should be used only in specific cases, where one can't load a server resource pack or a mod does not run because of missing OpenGL extensions.
  • Supports OpenGL 3.2 only.
  • Only works on Minecraft 1.17+

# A screenshot of ANGLE running Minecraft 1.19.4

angle

# virglrenderer

  • Very slow, will soon be removed. It's only use cases are mods that don't run because of missing OpenGL extensions and running shaders.
  • Supports OpenGL 4.3.
  • Works on Minecraft 1.7+, can be extremely buggy.

# A screenshot of virglrenderer running Minecraft 1.12.2

virglrenderer

- + diff --git a/ROADMAP.html b/ROADMAP.html index 7b09da92..072a1569 100644 --- a/ROADMAP.html +++ b/ROADMAP.html @@ -4,15 +4,15 @@ The road ahead for PojavLauncher | PojavLauncher - + - - + + - + diff --git a/SHADERS.html b/SHADERS.html index 746f43aa..3c29d1e3 100644 --- a/SHADERS.html +++ b/SHADERS.html @@ -4,22 +4,22 @@ Shaders | PojavLauncher - + - - + +

# Shaders

# Open4ES

# Screenshot of Open4ES-Chocapic on Minecraft 1.8.9

Open4ES

- + diff --git a/SIGN-IN.html b/SIGN-IN.html index 4c2d2554..710a4a8b 100644 --- a/SIGN-IN.html +++ b/SIGN-IN.html @@ -4,22 +4,22 @@ Signing in | PojavLauncher - + - - + +

# Signing in

PojavLauncher supports multiple types of accounts to sign in:

#

- + diff --git a/UNJAIL.html b/UNJAIL.html index 6cc1ea1a..1816089a 100644 --- a/UNJAIL.html +++ b/UNJAIL.html @@ -4,15 +4,15 @@ Bringing PojavLauncher to unjailbroken iOS | PojavLauncher - + - - + + - + diff --git a/ZINK.html b/ZINK.html index 890b590a..62e1457b 100644 --- a/ZINK.html +++ b/ZINK.html @@ -4,15 +4,15 @@ PojavLauncher - + - - + + - + diff --git a/archived_pages/DEVICES_LINUX_INCL.html b/archived_pages/DEVICES_LINUX_INCL.html index 24430bc9..15d84ca2 100644 --- a/archived_pages/DEVICES_LINUX_INCL.html +++ b/archived_pages/DEVICES_LINUX_INCL.html @@ -4,15 +4,15 @@ Supported Devices | PojavLauncher - + - - + +
- + diff --git a/archived_pages/JDK8.html b/archived_pages/JDK8.html index 82d7a653..c55fefbc 100644 --- a/archived_pages/JDK8.html +++ b/archived_pages/JDK8.html @@ -4,15 +4,15 @@ OpenJDK 8, coming to iOS | PojavLauncher - + - - + + - + diff --git a/archived_pages/OGL32.html b/archived_pages/OGL32.html index 71ae06a1..a6c9a5e1 100644 --- a/archived_pages/OGL32.html +++ b/archived_pages/OGL32.html @@ -4,15 +4,15 @@ Supporting 1.17 and beyond | PojavLauncher - + - - + +
- + diff --git a/archived_pages/PARTNERSHIPS.html b/archived_pages/PARTNERSHIPS.html index b9f0ffd0..e138f267 100644 --- a/archived_pages/PARTNERSHIPS.html +++ b/archived_pages/PARTNERSHIPS.html @@ -4,15 +4,15 @@ Interacting with our fellow developers | PojavLauncher - + - - + + - + diff --git a/archived_pages/RIP-A7.html b/archived_pages/RIP-A7.html index 7f86eb5b..7141eee3 100644 --- a/archived_pages/RIP-A7.html +++ b/archived_pages/RIP-A7.html @@ -4,15 +4,15 @@ Deprecating support for the Apple A7 chip | PojavLauncher - + - - + +

# Deprecating support for the Apple A7 chip

The Apple A7 chip was legendary for its technological advances in 2013. However, it's almost a decade since the introduction of the first device with this processor. Apple no longer supports these devices on the latest versions of iOS, and iOS 12 performs with noticeable performance issues already.

Due to these technical limitations imposed by the hardware and software on these devices, we're ending support for them with the release of PojavLauncher 2.2.

This means the following:

  • PojavLauncher 2.1 will warn A7 users about the upcoming deprecation, once upon every 30 launches of the app. This can be disabled by flipping the a7_allow preference to YES.

  • PojavLauncher 2.1's code will be archived and moved to the 2.1-legacy branch. Security fixes will be applied in 2.1 as needed, but no new features will be added to these releases. Third-party users can choose to continue support for A7-related issues, however unofficial forks of PojavLauncher will not be supported.

  • PojavLauncher 2.2 will disable support for A7 users on launch, requesting users to return to 2.1 or move to an A8+ device. This can also be overriden by flipping the a7_allow preference to YES, however support will not be provided for issues encountered while using an A7 device.

    • If the issue affects other devices as well, the issue will be deemed valid if logs from a supported device are available.
- + diff --git a/archived_pages/index.html b/archived_pages/index.html index b6d58ab4..978df335 100644 --- a/archived_pages/index.html +++ b/archived_pages/index.html @@ -4,15 +4,15 @@ PojavLauncher Website Archives | PojavLauncher - + - - + + - + diff --git a/assets/css/0.styles.42397d2a.css b/assets/css/0.styles.b1f8ece6.css similarity index 53% rename from assets/css/0.styles.42397d2a.css rename to assets/css/0.styles.b1f8ece6.css index 293fd3c8..dbf26cff 100644 --- a/assets/css/0.styles.42397d2a.css +++ b/assets/css/0.styles.b1f8ece6.css @@ -1 +1 @@ -@import url($themeFont);svg[data-v-49140617]{position:absolute;right:7.5px;opacity:.75;cursor:pointer}svg.hover[data-v-49140617]{opacity:0}svg[data-v-49140617]:hover{opacity:1!important}span[data-v-49140617]{position:absolute;font-size:.85rem;line-height:.425rem;right:50px;opacity:0;transition:opacity .5s}.success[data-v-49140617]{opacity:1!important}.code-copy-added:hover>.code-copy svg{opacity:.75}html{scroll-behavior:smooth}.medium-zoom-overlay{z-index:100}.medium-zoom-overlay~img{z-index:101}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-] .highlight-lines{padding-top:1.3rem}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}.custom-block.danger,.custom-block.tip,.custom-block.warning{border-left-width:.5rem;border-left-style:solid}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.theme-default-content:not(.custom),.theme-succinct-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom),.theme-succinct-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom),.theme-succinct-content:not(.custom){padding:1.5rem}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}a.header-anchor{-webkit-user-select:none;user-select:none}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.theme-succinct-content code{color:#476582;color:var(--codeColor);padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.08);border-radius:3px}.theme-succinct-content code .token.deleted{color:#ec5975}.theme-succinct-content code .token.inserted{color:#3eaf7c;color:var(--accentColor)}.theme-succinct-content pre,.theme-succinct-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;background-color:var(--codeBgColor);border-radius:6px;overflow:auto}.theme-succinct-content pre[class*=language-] code,.theme-succinct-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;background-color:var(--codeBgColor);border-radius:6px;overflow:hidden}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:2.1rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:#3d4148;background-color:var(--codeBgHighlightColor)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;margin-bottom:0;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34;background-color:var(--codeBgColor)}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;letter-spacing:.1rem;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border:none;border-radius:6px;margin:1rem 0}.custom-block.tip{background-color:#e7f1ec;background-color:var(--badgeTipColor)}.custom-block.warning{background-color:#f8f2d1;background-color:var(--badgeWarningColor);color:#776712;color:var(--badgeWarningTextColor)}.custom-block.warning .custom-block-title{color:#c6ac1e;color:var(--badgeWarningTitleColor)}.custom-block.warning a{color:#4e6e8e;color:var(--textMutedColor)}.custom-block.danger{background-color:#ffdadc;background-color:var(--badgeErrorColor);color:#8e0008;color:var(--badgeErrorTextColor)}.custom-block.danger .custom-block-title{color:#ed000d;color:var(--badgeErrorTitleColor)}.custom-block.danger a{color:#4e6e8e;color:var(--textMutedColor)}.custom-block.details{display:block;position:relative;border-radius:6px;margin:1em 0;padding:1.5em;background-color:rgba(0,0,0,.1);background-color:var(--selectionColor)}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid #ccc;border-bottom-color:var(--arrowBgColor)}.arrow.down{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #ccc;border-top-color:var(--arrowBgColor)}.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid #ccc;border-left-color:var(--arrowBgColor)}.arrow.left{border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:6px solid #ccc;border-right-color:var(--arrowBgColor)}.theme-succinct-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-succinct-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-succinct-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}:root,[data-theme=light]{--textColor:#2c3e50;--textMutedColor:#4e6e8e;--selectionColor:rgba(0,0,0,0.1);--headerColor:#3a5169;--descriptionColor:#6a8bad;--borderColor:#eaecef;--codeColor:#476582;--codeBgColor:#282c34;--codeBgHighlightColor:#3d4148;--arrowBgColor:#ccc;--bodyBgColor:#fff;--bodyComplementColor:#fafafa;--badgeTipColor:#e7f1ec;--badgeWarningColor:#f8f2d1;--badgeWarningTextColor:#776712;--badgeWarningTitleColor:#c6ac1e;--badgeErrorColor:#ffdadc;--badgeErrorTextColor:#8e0008;--badgeErrorTitleColor:#ed000d;--actionBtnHoverBorderColor:#4abf8a;--navItemHoverColor:#46bd87}:root,[data-theme=dark],[data-theme=light]{--accentColor:#3eaf7c;--actionBtnBorderColor:#389d70;--codeBlockActiveColor:#287251}[data-theme=dark]{--textColor:#e2e1db;--textMutedColor:#b0ae9d;--selectionColor:hsla(0,0%,100%,0.1);--headerColor:#d8d7cf;--descriptionColor:#ceccc2;--borderColor:#4c525c;--codeColor:#bab8aa;--codeBgColor:#1a1c22;--codeBgHighlightColor:#202228;--arrowBgColor:#555;--bodyBgColor:#25262b;--bodyComplementColor:#2f3037;--badgeTipColor:#1b4b35;--badgeWarningColor:#574e21;--badgeWarningTextColor:#dfd6aa;--badgeWarningTitleColor:#c9bb72;--badgeErrorColor:#692025;--badgeErrorTextColor:#e5a9ad;--badgeErrorTitleColor:#d37077;--actionBtnHoverBorderColor:#389d70;--navItemHoverColor:#39a172}*{scrollbar-color:rgba(0,0,0,.1) #fafafa;scrollbar-color:var(--selectionColor) var(--bodyComplementColor);scroll-behavior:smooth}::-webkit-scrollbar,::-webkit-scrollbar-track{background-color:#fafafa;background-color:var(--bodyComplementColor)}::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.1);background-color:var(--selectionColor)}::-webkit-scrollbar-button{background-color:#fafafa;background-color:var(--bodyComplementColor)}@media screen and (prefers-reduced-motion:true){*{scroll-behavior:auto}}::selection{background:rgba(0,0,0,.1);background:var(--selectionColor)}body,html{padding:0;margin:0;background-color:#fff;background-color:var(--bodyBgColor)}.theme-code-group__nav-tab,.theme-container,body{font-family:$bodyFontFamily,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.theme-container,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:18px;color:#2c3e50;color:var(--textColor)}body{min-height:100vh}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;background-color:var(--bodyBgColor);box-sizing:border-box;border-bottom:1px solid #eaecef;border-bottom-color:var(--borderColor)}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;background-color:var(--bodyBgColor);width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;border-right-color:var(--borderColor);overflow-y:auto}.search-box input{color:#4e6e8e!important;color:var(--textMutedColor)!important;border-color:#eaecef!important;border-color:var(--borderColor)!important;background-color:#fff!important;background-color:var(--bodyBgColor)!important}.search-box input:focus{border-color:#3eaf7c!important;border-color:var(--accentColor)!important}.search-box .suggestions{background:#fff!important;background:var(--bodyBgColor)!important;border-color:#eaecef!important;border-color:var(--borderColor)!important}.search-box .suggestion a{color:#4e6e8e!important;color:var(--textMutedColor)!important}.search-box .suggestion.focused{background-color:#fafafa!important;background-color:var(--bodyComplementColor)!important}.search-box .suggestion.focused a{color:#3eaf7c!important;color:var(--accentColor)!important}.theme-succinct-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-succinct-content:not(.custom) a:hover{text-decoration:underline}.theme-succinct-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #eaecef;border-color:var(--borderColor);border-radius:4px}.theme-succinct-content:not(.custom) img{max-width:100%}.theme-succinct-content.custom{padding:0;margin:0}.theme-succinct-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3eaf7c;color:var(--accentColor)}p a code{font-weight:400}kbd{background:#4e6e8e;background:var(--textMutedColor);border:.15rem solid #eaecef;border-color:var(--borderColor);border-bottom:.25rem solid var(--borderColor);border-radius:.15rem;padding:0 .15em}blockquote{font-size:inherit;color:#4e6e8e;color:var(--textMutedColor);border-left:.2rem solid #eaecef;border-left-color:var(--borderColor);margin:.5rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-succinct-content:not(.custom)>h1,.theme-succinct-content:not(.custom)>h2,.theme-succinct-content:not(.custom)>h3,.theme-succinct-content:not(.custom)>h4,.theme-succinct-content:not(.custom)>h5,.theme-succinct-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-succinct-content:not(.custom)>h1:first-child,.theme-succinct-content:not(.custom)>h2:first-child,.theme-succinct-content:not(.custom)>h3:first-child,.theme-succinct-content:not(.custom)>h4:first-child,.theme-succinct-content:not(.custom)>h5:first-child,.theme-succinct-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-succinct-content:not(.custom)>h1:first-child+.custom-block,.theme-succinct-content:not(.custom)>h1:first-child+p,.theme-succinct-content:not(.custom)>h1:first-child+pre,.theme-succinct-content:not(.custom)>h2:first-child+.custom-block,.theme-succinct-content:not(.custom)>h2:first-child+p,.theme-succinct-content:not(.custom)>h2:first-child+pre,.theme-succinct-content:not(.custom)>h3:first-child+.custom-block,.theme-succinct-content:not(.custom)>h3:first-child+p,.theme-succinct-content:not(.custom)>h3:first-child+pre,.theme-succinct-content:not(.custom)>h4:first-child+.custom-block,.theme-succinct-content:not(.custom)>h4:first-child+p,.theme-succinct-content:not(.custom)>h4:first-child+pre,.theme-succinct-content:not(.custom)>h5:first-child+.custom-block,.theme-succinct-content:not(.custom)>h5:first-child+p,.theme-succinct-content:not(.custom)>h5:first-child+pre,.theme-succinct-content:not(.custom)>h6:first-child+.custom-block,.theme-succinct-content:not(.custom)>h6:first-child+p,.theme-succinct-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef;border-bottom-color:var(--borderColor)}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:$monoFontFamily,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,td,th,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef;border-top-color:var(--borderColor)}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #eaecef;border-top-color:var(--borderColor)}tr:nth-child(2n){background-color:#fafafa;background-color:var(--bodyComplementColor)}td,th{border:1px solid #eaecef;border-color:var(--borderColor);padding:.6em 1em}.theme-code-group__nav{margin-bottom:-15px!important;background-color:#3d4148!important;background-color:var(--codeBgHighlightColor)!important}.theme-code-group__nav-tab{padding-right:10px!important;padding-left:10px!important}.theme-code-group__nav-tab-active{background-color:#287251!important;background-color:var(--codeBlockActiveColor)!important;outline-color:#287251!important;outline-color:var(--codeBlockActiveColor)!important;border:none!important;border-radius:5px}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-succinct-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-succinct-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}#nprogress{pointer-events:none}#nprogress .bar{background:#3eaf7c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3eaf7c,0 0 5px #3eaf7c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#3eaf7c transparent transparent #3eaf7c;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.code-switcher div[class*=language-]:before{content:""}.code-switcher .tab-header ul{padding:0;text-align:right;margin-bottom:-5px;margin-top:20px}.code-switcher .tab-header li{display:inline-block;padding:0 10px;cursor:pointer;border-radius:4px;border:2px solid #eaecef;margin-left:5px;font-size:80%}.code-switcher .tab-header li.active{border-color:#3eaf7c}.go-to-top[data-v-5fd4ef0c]{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;color:#3eaf7c;z-index:1}.go-to-top[data-v-5fd4ef0c]:hover{color:#72cda4}@media (max-width:959px){.go-to-top[data-v-5fd4ef0c]{display:none}}.fade-enter-active[data-v-5fd4ef0c],.fade-leave-active[data-v-5fd4ef0c]{transition:opacity .3s}.fade-enter[data-v-5fd4ef0c],.fade-leave-to[data-v-5fd4ef0c]{opacity:0}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:40rem;font-size:1.6rem;line-height:1.3;color:#6a8bad;color:var(--descriptionColor)}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;color:var(--bodyBgColor);background-color:#3eaf7c;background-color:var(--accentColor);padding:.6rem 1.4rem;border-radius:40px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #389d70;border-bottom-color:var(--actionBtnBorderColor)}.home .hero .action-button:hover{background-color:#4abf8a;background-color:var(--actionBtnHoverBorderColor)}.home .features{border-top:1px solid #eaecef;border-top-color:var(--borderColor);padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169;color:var(--headerColor)}.home .feature p,.home .footer{color:#4e6e8e;color:var(--textMutedColor)}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;border-top-color:var(--borderColor);text-align:center}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:.4rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.77214953.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3eaf7c;width:15rem}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:1.5rem;border:1px solid #cfd4db;padding:.4rem;border-radius:.6rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.6rem 1rem;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a em{color:#3eaf7c;font-weight:700;font-style:normal}.search-box .suggestion a .suggestion__title{font-weight:600;color:#2c3e50;display:block;padding-bottom:.4rem}.search-box .suggestion a .suggestion__text{font-size:.9em}.search-box .suggestion.focused{background-color:#f1faf6}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.highlighted{color:#3eaf7c}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50;color:var(--textColor)}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#3eaf7c;color:var(--accentColor)}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eaecef;border-top-color:var(--borderColor);padding:.45rem 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3eaf7c;color:var(--accentColor)}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3eaf7c;border-left-color:var(--accentColor);border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper.open:blur{display:none}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;background-color:var(--bodyBgColor);padding:.6rem 0;border:1px solid #eaecef;border-color:var(--borderColor);text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block;cursor:pointer}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#3eaf7c;color:var(--accentColor)}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50;color:var(--textColor)}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #46bd87;border-bottom-color:var(--navItemHoverColor)}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;color:var(--textColor);position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;background-color:var(--bodyBgColor);white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;color:var(--textMutedColor);margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e;color:var(--textMutedColor)}.page-edit .last-updated .time{font-weight:400;color:#aaa}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;border-top-color:var(--borderColor);padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;color:var(--textColor);transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;border-left-color:#3eaf7c;border-left-color:var(--accentColor)}.sidebar-heading.clickable.active,.sidebar-heading.clickable:hover{color:#3eaf7c;color:var(--accentColor)}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;color:var(--textColor);border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link.active,a.sidebar-link:hover{color:#3eaf7c;color:var(--accentColor)}a.sidebar-link.active{font-weight:600;border-left-color:#3eaf7c;border-left-color:var(--accentColor)}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;border-bottom-color:var(--borderColor);padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}.badge[data-v-68228156]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff;background-color:#42b983}.badge.green[data-v-68228156],.badge.tip[data-v-68228156]{background-color:$badgeTipColorDefault;background-color:var(--badgeTipColor)}.badge.error[data-v-68228156]{background-color:$badgeErrorColorDefault;background-color:var(--badgeErrorColor)}.badge.warn[data-v-68228156],.badge.warning[data-v-68228156],.badge.yellow[data-v-68228156]{background-color:$badgeWarningColorDefault;background-color:var(--badgeWarningColor)}.badge+.badge[data-v-68228156]{margin-left:5px}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983} \ No newline at end of file +@import url($themeFont);svg[data-v-49140617]{position:absolute;right:7.5px;opacity:.75;cursor:pointer}svg.hover[data-v-49140617]{opacity:0}svg[data-v-49140617]:hover{opacity:1!important}span[data-v-49140617]{position:absolute;font-size:.85rem;line-height:.425rem;right:50px;opacity:0;transition:opacity .5s}.success[data-v-49140617]{opacity:1!important}.code-copy-added:hover>.code-copy svg{opacity:.75}html{scroll-behavior:smooth}.medium-zoom-overlay{z-index:100}.medium-zoom-overlay~img{z-index:101}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-] .highlight-lines{padding-top:1.3rem}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}.custom-block.danger,.custom-block.tip,.custom-block.warning{border-left-width:.5rem;border-left-style:solid}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.theme-default-content:not(.custom),.theme-succinct-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom),.theme-succinct-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom),.theme-succinct-content:not(.custom){padding:1.5rem}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}a.header-anchor{-webkit-user-select:none;user-select:none}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.theme-succinct-content code{color:#476582;color:var(--codeColor);padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.08);border-radius:3px}.theme-succinct-content code .token.deleted{color:#ec5975}.theme-succinct-content code .token.inserted{color:#3eaf7c;color:var(--accentColor)}.theme-succinct-content pre,.theme-succinct-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;background-color:var(--codeBgColor);border-radius:6px;overflow:auto}.theme-succinct-content pre[class*=language-] code,.theme-succinct-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;background-color:var(--codeBgColor);border-radius:6px;overflow:hidden}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:2.1rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:#3d4148;background-color:var(--codeBgHighlightColor)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;margin-bottom:0;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34;background-color:var(--codeBgColor)}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;letter-spacing:.1rem;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border:none;border-radius:6px;margin:1rem 0}.custom-block.tip{background-color:#e7f1ec;background-color:var(--badgeTipColor)}.custom-block.warning{background-color:#f8f2d1;background-color:var(--badgeWarningColor);color:#776712;color:var(--badgeWarningTextColor)}.custom-block.warning .custom-block-title{color:#c6ac1e;color:var(--badgeWarningTitleColor)}.custom-block.warning a{color:#4e6e8e;color:var(--textMutedColor)}.custom-block.danger{background-color:#ffdadc;background-color:var(--badgeErrorColor);color:#8e0008;color:var(--badgeErrorTextColor)}.custom-block.danger .custom-block-title{color:#ed000d;color:var(--badgeErrorTitleColor)}.custom-block.danger a{color:#4e6e8e;color:var(--textMutedColor)}.custom-block.details{display:block;position:relative;border-radius:6px;margin:1em 0;padding:1.5em;background-color:rgba(0,0,0,.1);background-color:var(--selectionColor)}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid #ccc;border-bottom-color:var(--arrowBgColor)}.arrow.down{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #ccc;border-top-color:var(--arrowBgColor)}.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid #ccc;border-left-color:var(--arrowBgColor)}.arrow.left{border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:6px solid #ccc;border-right-color:var(--arrowBgColor)}.theme-succinct-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-succinct-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-succinct-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}:root,[data-theme=light]{--textColor:#2c3e50;--textMutedColor:#4e6e8e;--selectionColor:rgba(0,0,0,0.1);--headerColor:#3a5169;--descriptionColor:#6a8bad;--borderColor:#eaecef;--codeColor:#476582;--codeBgColor:#282c34;--codeBgHighlightColor:#3d4148;--arrowBgColor:#ccc;--bodyBgColor:#fff;--bodyComplementColor:#fafafa;--badgeTipColor:#e7f1ec;--badgeWarningColor:#f8f2d1;--badgeWarningTextColor:#776712;--badgeWarningTitleColor:#c6ac1e;--badgeErrorColor:#ffdadc;--badgeErrorTextColor:#8e0008;--badgeErrorTitleColor:#ed000d;--actionBtnHoverBorderColor:#4abf8a;--navItemHoverColor:#46bd87}:root,[data-theme=dark],[data-theme=light]{--accentColor:#3eaf7c;--actionBtnBorderColor:#389d70;--codeBlockActiveColor:#287251}[data-theme=dark]{--textColor:#e2e1db;--textMutedColor:#b0ae9d;--selectionColor:hsla(0,0%,100%,0.1);--headerColor:#d8d7cf;--descriptionColor:#ceccc2;--borderColor:#4c525c;--codeColor:#bab8aa;--codeBgColor:#1a1c22;--codeBgHighlightColor:#202228;--arrowBgColor:#555;--bodyBgColor:#25262b;--bodyComplementColor:#2f3037;--badgeTipColor:#1b4b35;--badgeWarningColor:#574e21;--badgeWarningTextColor:#dfd6aa;--badgeWarningTitleColor:#c9bb72;--badgeErrorColor:#692025;--badgeErrorTextColor:#e5a9ad;--badgeErrorTitleColor:#d37077;--actionBtnHoverBorderColor:#389d70;--navItemHoverColor:#39a172}*{scrollbar-color:rgba(0,0,0,.1) #fafafa;scrollbar-color:var(--selectionColor) var(--bodyComplementColor);scroll-behavior:smooth}::-webkit-scrollbar,::-webkit-scrollbar-track{background-color:#fafafa;background-color:var(--bodyComplementColor)}::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.1);background-color:var(--selectionColor)}::-webkit-scrollbar-button{background-color:#fafafa;background-color:var(--bodyComplementColor)}@media screen and (prefers-reduced-motion:true){*{scroll-behavior:auto}}::selection{background:rgba(0,0,0,.1);background:var(--selectionColor)}body,html{padding:0;margin:0;background-color:#fff;background-color:var(--bodyBgColor)}.theme-code-group__nav-tab,.theme-container,body{font-family:$bodyFontFamily,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.theme-container,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:18px;color:#2c3e50;color:var(--textColor)}body{min-height:100vh}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;background-color:var(--bodyBgColor);box-sizing:border-box;border-bottom:1px solid #eaecef;border-bottom-color:var(--borderColor)}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;background-color:var(--bodyBgColor);width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;border-right-color:var(--borderColor);overflow-y:auto}.search-box input{color:#4e6e8e!important;color:var(--textMutedColor)!important;border-color:#eaecef!important;border-color:var(--borderColor)!important;background-color:#fff!important;background-color:var(--bodyBgColor)!important}.search-box input:focus{border-color:#3eaf7c!important;border-color:var(--accentColor)!important}.search-box .suggestions{background:#fff!important;background:var(--bodyBgColor)!important;border-color:#eaecef!important;border-color:var(--borderColor)!important}.search-box .suggestion a{color:#4e6e8e!important;color:var(--textMutedColor)!important}.search-box .suggestion.focused{background-color:#fafafa!important;background-color:var(--bodyComplementColor)!important}.search-box .suggestion.focused a{color:#3eaf7c!important;color:var(--accentColor)!important}.theme-succinct-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-succinct-content:not(.custom) a:hover{text-decoration:underline}.theme-succinct-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #eaecef;border-color:var(--borderColor);border-radius:4px}.theme-succinct-content:not(.custom) img{max-width:100%}.theme-succinct-content.custom{padding:0;margin:0}.theme-succinct-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3eaf7c;color:var(--accentColor)}p a code{font-weight:400}kbd{background:#4e6e8e;background:var(--textMutedColor);border:.15rem solid #eaecef;border-color:var(--borderColor);border-bottom:.25rem solid var(--borderColor);border-radius:.15rem;padding:0 .15em}blockquote{font-size:inherit;color:#4e6e8e;color:var(--textMutedColor);border-left:.2rem solid #eaecef;border-left-color:var(--borderColor);margin:.5rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-succinct-content:not(.custom)>h1,.theme-succinct-content:not(.custom)>h2,.theme-succinct-content:not(.custom)>h3,.theme-succinct-content:not(.custom)>h4,.theme-succinct-content:not(.custom)>h5,.theme-succinct-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-succinct-content:not(.custom)>h1:first-child,.theme-succinct-content:not(.custom)>h2:first-child,.theme-succinct-content:not(.custom)>h3:first-child,.theme-succinct-content:not(.custom)>h4:first-child,.theme-succinct-content:not(.custom)>h5:first-child,.theme-succinct-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-succinct-content:not(.custom)>h1:first-child+.custom-block,.theme-succinct-content:not(.custom)>h1:first-child+p,.theme-succinct-content:not(.custom)>h1:first-child+pre,.theme-succinct-content:not(.custom)>h2:first-child+.custom-block,.theme-succinct-content:not(.custom)>h2:first-child+p,.theme-succinct-content:not(.custom)>h2:first-child+pre,.theme-succinct-content:not(.custom)>h3:first-child+.custom-block,.theme-succinct-content:not(.custom)>h3:first-child+p,.theme-succinct-content:not(.custom)>h3:first-child+pre,.theme-succinct-content:not(.custom)>h4:first-child+.custom-block,.theme-succinct-content:not(.custom)>h4:first-child+p,.theme-succinct-content:not(.custom)>h4:first-child+pre,.theme-succinct-content:not(.custom)>h5:first-child+.custom-block,.theme-succinct-content:not(.custom)>h5:first-child+p,.theme-succinct-content:not(.custom)>h5:first-child+pre,.theme-succinct-content:not(.custom)>h6:first-child+.custom-block,.theme-succinct-content:not(.custom)>h6:first-child+p,.theme-succinct-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef;border-bottom-color:var(--borderColor)}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:$monoFontFamily,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,td,th,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef;border-top-color:var(--borderColor)}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #eaecef;border-top-color:var(--borderColor)}tr:nth-child(2n){background-color:#fafafa;background-color:var(--bodyComplementColor)}td,th{border:1px solid #eaecef;border-color:var(--borderColor);padding:.6em 1em}.theme-code-group__nav{margin-bottom:-15px!important;background-color:#3d4148!important;background-color:var(--codeBgHighlightColor)!important}.theme-code-group__nav-tab{padding-right:10px!important;padding-left:10px!important}.theme-code-group__nav-tab-active{background-color:#287251!important;background-color:var(--codeBlockActiveColor)!important;outline-color:#287251!important;outline-color:var(--codeBlockActiveColor)!important;border:none!important;border-radius:5px}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-succinct-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-succinct-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}#nprogress{pointer-events:none}#nprogress .bar{background:#3eaf7c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3eaf7c,0 0 5px #3eaf7c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#3eaf7c transparent transparent #3eaf7c;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.code-switcher div[class*=language-]:before{content:""}.code-switcher .tab-header ul{padding:0;text-align:right;margin-bottom:-5px;margin-top:20px}.code-switcher .tab-header li{display:inline-block;padding:0 10px;cursor:pointer;border-radius:4px;border:2px solid #eaecef;margin-left:5px;font-size:80%}.code-switcher .tab-header li.active{border-color:#3eaf7c}.go-to-top[data-v-5fd4ef0c]{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;color:#3eaf7c;z-index:1}.go-to-top[data-v-5fd4ef0c]:hover{color:#72cda4}@media (max-width:959px){.go-to-top[data-v-5fd4ef0c]{display:none}}.fade-enter-active[data-v-5fd4ef0c],.fade-leave-active[data-v-5fd4ef0c]{transition:opacity .3s}.fade-enter[data-v-5fd4ef0c],.fade-leave-to[data-v-5fd4ef0c]{opacity:0}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.algolia-search-wrapper>span{vertical-align:middle}.algolia-search-wrapper .algolia-autocomplete{line-height:normal}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu{background-color:#fff;background-color:var(--bodyBgColor);border:1px solid #eaecef;border-color:var(--borderColor);border-radius:4px;font-size:16px;margin:6px 0 0;padding:4px;text-align:left}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu:before{border-color:#eaecef;border-color:var(--borderColor)}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu [class*=ds-dataset-]{border:none;padding:0}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu .ds-suggestion{border-bottom:1px solid #eaecef;border-bottom-color:var(--borderColor)}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#3a5169;color:var(--headerColor)}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion{border-color:#eaecef;border-color:var(--borderColor);padding:0}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--category-header{padding:5px 10px;margin-top:0;background:#3eaf7c;background:var(--accentColor);color:#2c3e50;color:var(--textColor);font-weight:600}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background:#ccc;background:var(--arrowBgColor)}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--wrapper{padding:0}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--title{font-weight:600;margin-bottom:0;color:#2c3e50;color:var(--textColor)}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{vertical-align:top;padding:5px 7px 5px 5px;border-color:#eaecef;border-color:var(--borderColor);background:#fff;background:var(--bodyBgColor)}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{display:none}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column-text{color:#2c3e50;color:var(--textColor)}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-footer{border-color:#eaecef;border-color:var(--borderColor)}.algolia-search-wrapper .algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--content{background-color:#ccc!important;background-color:var(--arrowBgColor)!important;color:#2c3e50;color:var(--textColor)}@media (min-width:719px){.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{float:none;width:150px;min-width:150px;display:table-cell}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{float:none;display:table-cell;width:100%;vertical-align:top}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .ds-dropdown-menu{min-width:515px!important}}@media (max-width:719px){.algolia-search-wrapper .ds-dropdown-menu{min-width:calc(100vw - 4rem)!important;max-width:calc(100vw - 4rem)!important}.algolia-search-wrapper .algolia-docsearch-suggestion--wrapper{padding:5px 7px 5px 5px!important}.algolia-search-wrapper .algolia-docsearch-suggestion--subcategory-column{padding:0!important;background:#ccc!important;background:var(--arrowBgColor)!important}.algolia-search-wrapper .algolia-docsearch-suggestion--subcategory-column-text:after{content:" > ";font-size:10px;line-height:14.4px;display:inline-block;width:5px;margin:-3px 3px 0;vertical-align:middle}}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:40rem;font-size:1.6rem;line-height:1.3;color:#6a8bad;color:var(--descriptionColor)}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;color:var(--bodyBgColor);background-color:#3eaf7c;background-color:var(--accentColor);padding:.6rem 1.4rem;border-radius:40px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #389d70;border-bottom-color:var(--actionBtnBorderColor)}.home .hero .action-button:hover{background-color:#4abf8a;background-color:var(--actionBtnHoverBorderColor)}.home .features{border-top:1px solid #eaecef;border-top-color:var(--borderColor);padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169;color:var(--headerColor)}.home .feature p,.home .footer{color:#4e6e8e;color:var(--textMutedColor)}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;border-top-color:var(--borderColor);text-align:center}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:.4rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.77214953.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3eaf7c;width:15rem}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:1.5rem;border:1px solid #cfd4db;padding:.4rem;border-radius:.6rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.6rem 1rem;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a em{color:#3eaf7c;font-weight:700;font-style:normal}.search-box .suggestion a .suggestion__title{font-weight:600;color:#2c3e50;display:block;padding-bottom:.4rem}.search-box .suggestion a .suggestion__text{font-size:.9em}.search-box .suggestion.focused{background-color:#f1faf6}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.highlighted{color:#3eaf7c}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.badge[data-v-68228156]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff;background-color:#42b983}.badge.green[data-v-68228156],.badge.tip[data-v-68228156]{background-color:$badgeTipColorDefault;background-color:var(--badgeTipColor)}.badge.error[data-v-68228156]{background-color:$badgeErrorColorDefault;background-color:var(--badgeErrorColor)}.badge.warn[data-v-68228156],.badge.warning[data-v-68228156],.badge.yellow[data-v-68228156]{background-color:$badgeWarningColorDefault;background-color:var(--badgeWarningColor)}.badge+.badge[data-v-68228156]{margin-left:5px}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:999;position:relative}.searchbox__input{display:inline-block;box-sizing:border-box;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0 26px 0 32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input::-moz-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69,142,225,0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:none;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;animation-name:sbx-reset-in;animation-duration:.15s}@keyframes sbx-reset-in{0%{transform:translate3d(-20%,0,0);opacity:0}to{transform:none;opacity:1}}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:999;max-width:600px;min-width:500px;box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:1000;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000;margin-top:8px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions a:hover{text-decoration:none}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:rgba(69,142,225,.05)}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{display:block;position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:rgba(143,187,237,.1);padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;box-shadow:inset 0 -2px 0 0 rgba(69,142,225,.8);color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}@media (min-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:block}}@media (max-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:inline-block;width:auto;float:left;padding:0;color:#02060c;font-size:.9em;font-weight:700;text-align:left;opacity:.5}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{content:"|"}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{display:inline-block;width:auto;text-align:left;float:left;padding:0}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content:before{display:none}}.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url('data:image/svg+xml;utf8,');content:"";width:10px;height:10px;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;box-shadow:none}.algolia-autocomplete .algolia-docsearch-footer{width:134px;height:20px;z-index:2000;margin-top:10.66667px;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='168' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M78.988.938h16.594a2.968 2.968 0 012.966 2.966V20.5a2.967 2.967 0 01-2.966 2.964H78.988a2.967 2.967 0 01-2.966-2.964V3.897A2.961 2.961 0 0178.988.938zm41.937 17.866c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 00-1.574-.199 5.7 5.7 0 00-.897.069 2.699 2.699 0 00-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 01-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 01-1.471-.636 3.085 3.085 0 01-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 011.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 011.82-.185 8.404 8.404 0 011.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 00-.384-.73 1.784 1.784 0 00-.724-.493 3.164 3.164 0 00-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 00-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 012.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 00-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 00-.814.24 1.46 1.46 0 00-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 01.233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 01-1.471-.635 3.085 3.085 0 01-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 012.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 00-.109-.875 1.873 1.873 0 00-.384-.731 1.784 1.784 0 00-.724-.492 3.165 3.165 0 00-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 00-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 012.073-.177zm-8.034-1.271a1.626 1.626 0 01-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 01-1.128 1.906 4.986 4.986 0 01-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 01-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 01-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 011.15-1.892 5.133 5.133 0 011.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 011.753 1.216 5.644 5.644 0 011.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 00-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 01-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 01-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 012.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17z' fill='%235468FF'/%3E%3Cpath d='M6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 00-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 01-.582-.271 13.67 13.67 0 01-.55-.287 4.275 4.275 0 01-.567-.351 6.92 6.92 0 01-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 01-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 00-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 00-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 00-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 01-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z' fill='%235D6494'/%3E%3Cpath d='M89.632 5.967v-.772a.978.978 0 00-.978-.977h-2.28a.978.978 0 00-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 011.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 00-1.382 0l-.465.465a.973.973 0 000 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 00-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 01-4.49-4.482 4.488 4.488 0 014.49-4.482 4.488 4.488 0 014.489 4.482 4.484 4.484 0 01-4.49 4.482m0-10.85a6.363 6.363 0 100 12.729 6.37 6.37 0 006.372-6.368 6.358 6.358 0 00-6.371-6.36' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;padding:0!important;width:100%;height:100%;display:block}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50;color:var(--textColor)}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#3eaf7c;color:var(--accentColor)}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eaecef;border-top-color:var(--borderColor);padding:.45rem 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3eaf7c;color:var(--accentColor)}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3eaf7c;border-left-color:var(--accentColor);border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper.open:blur{display:none}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;background-color:var(--bodyBgColor);padding:.6rem 0;border:1px solid #eaecef;border-color:var(--borderColor);text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block;cursor:pointer}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#3eaf7c;color:var(--accentColor)}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50;color:var(--textColor)}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #46bd87;border-bottom-color:var(--navItemHoverColor)}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;color:var(--textColor);position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;background-color:var(--bodyBgColor);white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;color:var(--textMutedColor);margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e;color:var(--textMutedColor)}.page-edit .last-updated .time{font-weight:400;color:#aaa}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;border-top-color:var(--borderColor);padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;color:var(--textColor);transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;border-left-color:#3eaf7c;border-left-color:var(--accentColor)}.sidebar-heading.clickable.active,.sidebar-heading.clickable:hover{color:#3eaf7c;color:var(--accentColor)}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;color:var(--textColor);border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link.active,a.sidebar-link:hover{color:#3eaf7c;color:var(--accentColor)}a.sidebar-link.active{font-weight:600;border-left-color:#3eaf7c;border-left-color:var(--accentColor)}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;border-bottom-color:var(--borderColor);padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}} \ No newline at end of file diff --git a/assets/js/1.d8af5f3e.js b/assets/js/1.d8af5f3e.js new file mode 100644 index 00000000..dc3f4923 --- /dev/null +++ b/assets/js/1.d8af5f3e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1,12,16,22,23,24,26],{249:function(r,e,t){"use strict";t.d(e,"d",(function(){return s})),t.d(e,"a",(function(){return i})),t.d(e,"i",(function(){return o})),t.d(e,"f",(function(){return l})),t.d(e,"g",(function(){return c})),t.d(e,"h",(function(){return u})),t.d(e,"b",(function(){return p})),t.d(e,"e",(function(){return h})),t.d(e,"k",(function(){return d})),t.d(e,"l",(function(){return f})),t.d(e,"c",(function(){return m})),t.d(e,"j",(function(){return b}));t(93);const s=/#.*$/,a=/\.(md|html)$/,i=/\/$/,o=/^[a-z]+:/i;function n(r){return decodeURI(r).replace(s,"").replace(a,"")}function l(r){return o.test(r)}function c(r){return/^mailto:/.test(r)}function u(r){return/^tel:/.test(r)}function p(r){if(l(r))return r;const e=r.match(s),t=e?e[0]:"",a=n(r);return i.test(a)?r:a+".html"+t}function h(r,e){const t=decodeURIComponent(r.hash),a=function(r){const e=r.match(s);if(e)return e[0]}(e);if(a&&t!==a)return!1;return n(r.path)===n(e)}function d(r,e,t){if(l(e))return{type:"external",path:e};t&&(e=function(r,e,t){const s=r.charAt(0);if("/"===s)return r;if("?"===s||"#"===s)return e+r;const a=e.split("/");t&&a[a.length-1]||a.pop();const i=r.replace(/^\//,"").split("/");for(let r=0;rfunction r(e,t,s,a=1){if("string"==typeof e)return d(t,e,s);if(Array.isArray(e))return Object.assign(d(t,e[0],s),{title:e[1]});{const i=e.children||[];return 0===i.length&&e.path?Object.assign(d(t,e.path,s),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:i.map(e=>r(e,t,s,a+1)),collapsable:!1!==e.collapsable}}}(r,a,t)):[]}return[]}function g(r){const e=m(r.headers||[]);return[{type:"group",collapsable:!1,title:r.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:r.path,path:r.path+"#"+e.slug,children:e.children||[]}))}]}function m(r){let e;return(r=r.map(r=>Object.assign({},r))).forEach(r=>{2===r.level?e=r:e&&(e.children||(e.children=[])).push(r)}),r.filter(r=>2===r.level)}function b(r){return Object.assign(r,{type:r.items&&r.items.length?"links":"link"})}},250:function(r,e,t){},251:function(r,e,t){"use strict";t.r(e);var s=t(249),a={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(s.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(r=>r===this.link):"/"===this.link},isNonHttpURI(){return Object(s.g)(this.link)||Object(s.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(s.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(s.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},i=t(8),o=Object(i.a)(a,(function(){var r=this,e=r._self._c;return r.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:r.link,exact:r.exact},nativeOn:{focusout:function(e){return r.focusoutAction.apply(null,arguments)}}},[r._v("\n "+r._s(r.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:r.link,target:r.target,rel:r.rel},on:{focusout:r.focusoutAction}},[r._v("\n "+r._s(r.item.text)+"\n "),r.isBlankTarget?e("OutboundLink"):r._e()],1)}),[],!1,null,null,null);e.default=o.exports},252:function(r,e,t){"use strict";t.r(e);var s={name:"DropdownTransition",methods:{setHeight(r){r.style.height=r.scrollHeight+"px"},unsetHeight(r){r.style.height=""}}},a=(t(253),t(8)),i=Object(a.a)(s,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=i.exports},253:function(r,e,t){"use strict";t(250)},254:function(r,e,t){},257:function(r,e,t){},261:function(r,e,t){"use strict";t(254)},264:function(r,e,t){"use strict";t.r(e);var s=t(251),a=t(252),i=t(94),o=t.n(i),n={name:"DropdownLink",components:{NavLink:s.default,DropdownTransition:a.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(r){this.open=r},isLastItemOfArray:(r,e)=>o()(e)===r,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(t(261),t(8)),c=Object(l.a)(n,(function(){var r=this,e=r._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:r.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":r.dropdownAriaLabel},on:{click:r.handleDropdown}},[e("span",{staticClass:"title"},[r._v(r._s(r.item.text))]),r._v(" "),e("span",{staticClass:"arrow down"})]),r._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":r.dropdownAriaLabel},on:{click:function(e){return r.setOpen(!r.open)}}},[e("span",{staticClass:"title"},[r._v(r._s(r.item.text))]),r._v(" "),e("span",{staticClass:"arrow",class:r.open?"down":"right"})]),r._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:r.open,expression:"open"}],staticClass:"nav-dropdown"},r._l(r.item.items,(function(t,s){return e("li",{key:t.link||s,staticClass:"dropdown-item"},["links"===t.type?e("h4",[r._v("\n "+r._s(t.text)+"\n ")]):r._e(),r._v(" "),"links"===t.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},r._l(t.items,(function(s){return e("li",{key:s.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:s},on:{focusout:function(e){r.isLastItemOfArray(s,t.items)&&r.isLastItemOfArray(t,r.item.items)&&r.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:t},on:{focusout:function(e){r.isLastItemOfArray(t,r.item.items)&&r.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=c.exports},265:function(r,e,t){"use strict";t.r(e);const s=["light","dark"];var a={name:"ThemeSwitcher",data:()=>({theme:""}),computed:{nextTheme(){const r=(s.indexOf(this.theme)+1)%s.length;return s[r]}},methods:{switchTheme(){const r=(s.indexOf(this.theme)+1)%s.length;window.__setPreferredTheme(s[r]),this.theme=s[r]}},async mounted(){void 0!==window.__theme&&(this.theme=window.__theme)}},i=t(8),o=Object(i.a)(a,(function(){var r=this,e=r._self._c;return e("a",{staticClass:"nav-link",attrs:{role:"button","aria-label":"Switch to "+r.nextTheme+" mode"},on:{click:function(e){return e.preventDefault(),r.switchTheme()}}},["dark"===r.theme?e("span",{key:"dark"},[r._v("Switch to light mode")]):"light"===r.theme?e("span",{key:"light"},[r._v("Switch to dark mode")]):e("span",{key:"light"},[r._v("Switch theme")])])}),[],!1,null,null,null);e.default=o.exports},268:function(r,e,t){"use strict";t(257)},269:function(r,e,t){},276:function(r,e,t){"use strict";t.r(e);var s=t(264),a=t(249),i=t(251),o=t(265),n=t(46),l={name:"NavLinks",components:{NavLink:i.default,DropdownLink:s.default,ThemeSwitcher:o.default},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},showThemeSwitcher:()=>Array.isArray(n.a)&&n.a.includes("ThemeManager"),nav(){const{locales:r}=this.$site;if(r&&Object.keys(r).length>1){const e=this.$page.path,t=this.$router.options.routes,s=this.$site.themeConfig.locales||{},a={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(r).map(a=>{const i=r[a],o=s[a]&&s[a].label||i.lang;let n;return i.lang===this.$lang?n=e:(n=e.replace(this.$localeConfig.path,a),t.some(r=>r.path===n)||(n=a)),{text:o,link:n}})};return[...this.userNav,a]}return this.userNav},userLinks(){return(this.nav||[]).map(r=>Object.assign(Object(a.j)(r),{items:(r.items||[]).map(a.j)}))},repoLink(){const{repo:r}=this.$site.themeConfig;return r?/^https?:/.test(r)?r:"https://github.com/"+r:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const r=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"];for(let t=0;t=s&&(this.u=this.g),this.u===this.g&&(this.cache&&this.j.set(e,this.o),this.F&&this.F(this.o))),this}function a(r,e){const t=r.length,s=w(e),a=[];for(let i=0,o=0;i=o&&((r=(r=r[n-(a+.5>>0)])[t]||(r[t]=[]))[r.length]=s),a)}function u(r,e){if(r){const t=Object.keys(r);for(let s=0,a=t.length;s(r=r.length-e.length)?1:r?-1:0}function d(r,e){return(r=r[R])<(e=e[R])?-1:r>e?1:0}function f(r,e){const t=R.length;for(let s=0;se?1:0}function g(r,e,t){return r?{page:r,next:e?""+e:null,result:t}:t}function m(r,e,t,s,a,i,o){let n,l=[];if(!0===t){t="0";var c=""}else c=t&&t.split(":");const u=r.length;if(1o&&(c=0),n=(c=c||0)+e,n=this.m.length&&(this.C=0),this.m[this.C].postMessage({add:!0,id:r,content:e}),this.c[o]=""+this.C,t&&t(),this;if(!i){if(this.async&&"function"!=typeof importScripts){let a=this;return o=new Promise((function(t){setTimeout((function(){a.add(r,e,null,s,!0),a=null,t()}))})),t?(o.then(t),this):o}if(t)return this.add(r,e,null,s,!0),t(),this}if(!(e=this.encode(e)).length)return this;i=w(t=this.f)?t(e):e.split(this.split),this.filter&&(i=a(i,this.filter));const d=x();d._ctx=x();const f=i.length,g=this.threshold,m=this.depth,b=this.b,v=this.i,y=this.D;for(let e=0;eh;t--)c(v,d,p=n.substring(h,t),r,e,u,g,b-1)}break;default:if(l=c(v,d,n,r,1,u,g,b-1),m&&1=g)for(l=d._ctx[n]||(d._ctx[n]=x()),n=this.h[n]||(this.h[n]=D(b-(g||0))),0>(u=e-m)&&(u=0),(p=e+m+1)>f&&(p=f);ua;t--)s=i[t-1],i[t]=s,e[s]=t;i[a]=r,e[r]=a}}}return e},r}();return t}(function(){const r={},e="undefined"!=typeof Blob&&"undefined"!=typeof URL&&URL.createObjectURL;return function(t,s,a,i,o){return a=e?URL.createObjectURL(new Blob(["("+a.toString()+")()"],{type:"text/javascript"})):t+".min.js",r[t+="-"+s]||(r[t]=[]),r[t][o]=new Worker(a),r[t][o].onmessage=i,r[t][o]}}()),this)},302:function(r,e,t){const s=t(303);function a(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}r.exports.getPageText=r=>{if(!r._strippedContent)return"";const{html:e}=r._context.markdown.render(r._strippedContent);return s.decode(e.replace(/(<[^>]+>)+/g," ").replace(/^\s*#\s/gm,""))},r.exports.highlightText=(r,e)=>{let t=r;if(highlightWords=e.split(" ").filter(r=>r.length>0),highlightWords.length>0)for(const r of highlightWords)t=t.replace(new RegExp(a(r),"ig"),"$&");else t=r.replace(new RegExp(a(e),"ig"),"$&");return t}},303:function(r,e,t){(function(r){var s;/*! https://mths.be/he v1.2.0 by @mathias | MIT license */!function(a){var i=e,o=(r&&r.exports,"object"==typeof global&&global);o.global!==o&&o.window;var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,u=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,p={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},h=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,b={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},v={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},w={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},y=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],q=String.fromCharCode,D={}.hasOwnProperty,x=function(r,e){return D.call(r,e)},k=function(r,e){if(!r)return e;var t,s={};for(t in e)s[t]=x(r,t)?r[t]:e[t];return s},A=function(r,e){var t="";return r>=55296&&r<=57343||r>1114111?(e&&C("character reference outside the permissible Unicode range"),"�"):x(w,r)?(e&&C("disallowed character reference"),w[r]):(e&&function(r,e){for(var t=-1,s=r.length;++t65535&&(t+=q((r-=65536)>>>10&1023|55296),r=56320|1023&r),t+=q(r))},E=function(r){return"&#x"+r.toString(16).toUpperCase()+";"},L=function(r){return"&#"+r+";"},C=function(r){throw Error("Parse error: "+r)},S=function(r,e){(e=k(e,S.options)).strict&&g.test(r)&&C("forbidden code point");var t=e.encodeEverything,s=e.useNamedReferences,a=e.allowUnsafeSymbols,i=e.decimal?L:E,o=function(r){return i(r.charCodeAt(0))};return t?(r=r.replace(l,(function(r){return s&&x(p,r)?"&"+p[r]+";":o(r)})),s&&(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),s&&(r=r.replace(u,(function(r){return"&"+p[r]+";"})))):s?(a||(r=r.replace(h,(function(r){return"&"+p[r]+";"}))),r=(r=r.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(r){return"&"+p[r]+";"}))):a||(r=r.replace(h,o)),r.replace(n,(function(r){var e=r.charCodeAt(0),t=r.charCodeAt(1);return i(1024*(e-55296)+t-56320+65536)})).replace(c,o)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var T=function(r,e){var t=(e=k(e,T.options)).strict;return t&&f.test(r)&&C("malformed character reference"),r.replace(m,(function(r,s,a,i,o,n,l,c,u){var p,h,d,f,g,m;return s?b[g=s]:a?(g=a,(m=i)&&e.isAttributeValue?(t&&"="==m&&C("`&` did not start a character reference"),r):(t&&C("named character reference was not terminated by a semicolon"),v[g]+(m||""))):o?(d=o,h=n,t&&!h&&C("character reference was not terminated by a semicolon"),p=parseInt(d,10),A(p,t)):l?(f=l,h=c,t&&!h&&C("character reference was not terminated by a semicolon"),p=parseInt(f,16),A(p,t)):(t&&C("named character reference was not terminated by a semicolon"),r)}))};T.options={isAttributeValue:!1,strict:!1};var B={version:"1.2.0",encode:S,decode:T,escape:function(r){return r.replace(h,(function(r){return d[r]}))},unescape:T};void 0===(s=function(){return B}.call(e,t,e,r))||(r.exports=s)}()}).call(this,t(47)(r))},304:function(r,e,t){"use strict";t(286)},305:function(r,e,t){"use strict";t(287)},318:function(r,e,t){"use strict";t.r(e);t(93);var s=t(301),a=t.n(s),i=t(302),o={data:()=>({query:"",focused:!1,focusIndex:0,placeholder:void 0,index:null}),mounted(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey),this.setupFlexSearch()},beforeDestroy(){document.removeEventListener("keydown",this.onHotkey)},computed:{showSuggestions(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions(){const r=this.query.trim().toLowerCase();if(!r)return;return this.index.search(r,10).map(r=>({...r,title:this.getSuggestionTitle(r),text:this.getSuggestionText(r)}))},alignRight(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},methods:{getPageLocalePath(r){for(const e in this.$site.locales||{})if("/"!==e&&0===r.path.indexOf(e))return e;return"/"},isSearchable(r){let e=null;return null===e||(e=Array.isArray(e)?e:new Array(e),e.filter(e=>r.path.match(e)).length>0)},onHotkey(r){r.srcElement===document.body&&"s".includes(r.key)&&(this.$refs.input.focus(),r.preventDefault())},onUp(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown(){this.showSuggestions&&(this.focusIndex15&&(a-=15,o=".. ");const n=r.content.substr(a,60);return o+Object(i.highlightText)(n,this.query)}}},n=(t(304),t(8)),l=Object(n.a)(o,(function(){var r=this,e=r._self._c;return e("div",{staticClass:"search-box"},[e("input",{ref:"input",class:{focused:r.focused},attrs:{"aria-label":"Search",placeholder:r.placeholder,autocomplete:"off",spellcheck:"false"},domProps:{value:r.query},on:{input:function(e){r.query=e.target.value},focus:function(e){r.focused=!0},blur:function(e){r.focused=!1},keyup:[function(e){return!e.type.indexOf("key")&&r._k(e.keyCode,"enter",13,e.key,"Enter")?null:r.go(r.focusIndex)},function(e){return!e.type.indexOf("key")&&r._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?null:r.onUp.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&r._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?null:r.onDown.apply(null,arguments)}]}}),r._v(" "),r.showSuggestions?e("ul",{staticClass:"suggestions",class:{"align-right":r.alignRight},on:{mouseleave:r.unfocus}},r._l(r.suggestions,(function(t,s){return e("li",{key:s,staticClass:"suggestion",class:{focused:s===r.focusIndex},on:{mousedown:function(e){return r.go(s)},mouseenter:function(e){return r.focus(s)}}},[e("a",{attrs:{href:t.regularPath},on:{click:function(r){r.preventDefault()}}},[e("span",{staticClass:"suggestion__title",domProps:{innerHTML:r._s(t.title||t.regularPath)}}),r._v(" "),e("span",{staticClass:"suggestion__result",domProps:{innerHTML:r._s(t.text)}})])])})),0):r._e()])}),[],!1,null,null,null).exports,c=t(295),u=t(276);function p(r,e){return r.ownerDocument.defaultView.getComputedStyle(r,null)[e]}var h={name:"Navbar",components:{SidebarButton:c.default,NavLinks:u.default,SearchBox:l,AlgoliaSearchBox:{}},data:()=>({linksWrapMaxWidth:null}),computed:{algolia(){return this.$themeLocaleConfig.algolia||this.$site.themeConfig.algolia||{}},isAlgoliaSearch(){return this.algolia&&this.algolia.apiKey&&this.algolia.indexName}},mounted(){const r=parseInt(p(this.$el,"paddingLeft"))+parseInt(p(this.$el,"paddingRight")),e=()=>{document.documentElement.clientWidth<719?this.linksWrapMaxWidth=null:this.linksWrapMaxWidth=this.$el.offsetWidth-r-(this.$refs.siteName&&this.$refs.siteName.offsetWidth||0)};e(),window.addEventListener("resize",e,!1)}},d=(t(305),Object(n.a)(h,(function(){var r=this,e=r._self._c;return e("header",{staticClass:"navbar"},[e("SidebarButton",{on:{"toggle-sidebar":function(e){return r.$emit("toggle-sidebar")}}}),r._v(" "),e("RouterLink",{staticClass:"home-link",attrs:{to:r.$localePath}},[r.$site.themeConfig.logo?e("img",{staticClass:"logo",attrs:{src:r.$withBase(r.$site.themeConfig.logo),alt:r.$siteTitle}}):r._e(),r._v(" "),r.$siteTitle?e("span",{ref:"siteName",staticClass:"site-name",class:{"can-hide":r.$site.themeConfig.logo}},[r._v(r._s(r.$siteTitle))]):r._e()]),r._v(" "),e("div",{staticClass:"links",style:r.linksWrapMaxWidth?{"max-width":r.linksWrapMaxWidth+"px"}:{}},[r.isAlgoliaSearch?e("AlgoliaSearchBox",{attrs:{options:r.algolia}}):!1!==r.$site.themeConfig.search&&!1!==r.$page.frontmatter.search?e("SearchBox"):r._e(),r._v(" "),e("NavLinks",{staticClass:"can-hide"})],1)],1)}),[],!1,null,null,null));e.default=d.exports}}]); \ No newline at end of file diff --git a/assets/js/10.e555fd02.js b/assets/js/10.e555fd02.js deleted file mode 100644 index 14c83171..00000000 --- a/assets/js/10.e555fd02.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{300:function(t,e,s){"use strict";s.r(e);const o=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];var n={methods:{getMsg:()=>o[Math.floor(Math.random()*o.length)]}},i=s(7),h=Object(i.a)(n,(function(){var t=this._self._c;return t("div",{staticClass:"theme-container"},[t("div",{staticClass:"theme-succinct-content"},[t("h1",[this._v("404")]),this._v(" "),t("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),t("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=h.exports}}]); \ No newline at end of file diff --git a/assets/js/11.7d75510d.js b/assets/js/11.7d75510d.js new file mode 100644 index 00000000..5c1ad390 --- /dev/null +++ b/assets/js/11.7d75510d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[11,3,12,16,20,22,24,26],{249:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return r})),n.d(e,"i",(function(){return a})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return h})),n.d(e,"k",(function(){return d})),n.d(e,"l",(function(){return f})),n.d(e,"c",(function(){return b})),n.d(e,"j",(function(){return g}));n(93);const i=/#.*$/,s=/\.(md|html)$/,r=/\/$/,a=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(s,"")}function l(t){return a.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(i),n=e?e[0]:"",s=o(t);return r.test(s)?t:s+".html"+n}function h(t,e){const n=decodeURIComponent(t.hash),s=function(t){const e=t.match(i);if(e)return e[0]}(e);if(s&&n!==s)return!1;return o(t.path)===o(e)}function d(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const s=e.split("/");n&&s[s.length-1]||s.pop();const r=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,s=1){if("string"==typeof e)return d(n,e,i);if(Array.isArray(e))return Object.assign(d(n,e[0],i),{title:e[1]});{const r=e.children||[];return 0===r.length&&e.path?Object.assign(d(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:r.map(e=>t(e,n,i,s+1)),collapsable:!1!==e.collapsable}}}(t,s,n)):[]}return[]}function m(t){const e=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function b(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function g(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},250:function(t,e,n){},251:function(t,e,n){"use strict";n.r(e);var i=n(249),s={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},r=n(8),a=Object(r.a)(s,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=a.exports},252:function(t,e,n){"use strict";n.r(e);var i={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},s=(n(253),n(8)),r=Object(s.a)(i,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=r.exports},253:function(t,e,n){"use strict";n(250)},254:function(t,e,n){},255:function(t,e,n){},257:function(t,e,n){},260:function(t,e,n){},261:function(t,e,n){"use strict";n(254)},262:function(t,e,n){"use strict";n(255)},263:function(t,e,n){"use strict";n.r(e);var i=n(277),s=n(266),r=n(249);function a(t,e){return"group"===e.type&&e.children.some(e=>"group"===e.type?a(t,e):"page"===e.type&&Object(r.e)(t,e.path))}var o={name:"SidebarLinks",components:{SidebarGroup:i.default,SidebarLink:s.default},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const t=function(t,e){for(let n=0;n-1&&(this.openGroupIndex=t)},toggleGroup(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive(t){return Object(r.e)(this.$route,t.regularPath)}}},l=n(8),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return t.items.length?e("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(n,i){return e("li",{key:i},["group"===n.type?e("SidebarGroup",{attrs:{item:n,open:i===t.openGroupIndex,collapsable:n.collapsable||n.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(i)}}}):e("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:n}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=u.exports},264:function(t,e,n){"use strict";n.r(e);var i=n(251),s=n(252),r=n(94),a=n.n(r),o={name:"DropdownLink",components:{NavLink:i.default,DropdownTransition:s.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>a()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(261),n(8)),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,i){return e("li",{key:n.link||i,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(i){return e("li",{key:i.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:i},on:{focusout:function(e){t.isLastItemOfArray(i,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports},265:function(t,e,n){"use strict";n.r(e);const i=["light","dark"];var s={name:"ThemeSwitcher",data:()=>({theme:""}),computed:{nextTheme(){const t=(i.indexOf(this.theme)+1)%i.length;return i[t]}},methods:{switchTheme(){const t=(i.indexOf(this.theme)+1)%i.length;window.__setPreferredTheme(i[t]),this.theme=i[t]}},async mounted(){void 0!==window.__theme&&(this.theme=window.__theme)}},r=n(8),a=Object(r.a)(s,(function(){var t=this,e=t._self._c;return e("a",{staticClass:"nav-link",attrs:{role:"button","aria-label":"Switch to "+t.nextTheme+" mode"},on:{click:function(e){return e.preventDefault(),t.switchTheme()}}},["dark"===t.theme?e("span",{key:"dark"},[t._v("Switch to light mode")]):"light"===t.theme?e("span",{key:"light"},[t._v("Switch to dark mode")]):e("span",{key:"light"},[t._v("Switch theme")])])}),[],!1,null,null,null);e.default=a.exports},266:function(t,e,n){"use strict";n.r(e);var i=n(249);function s(t,e,n,i,s){const r={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:i,"sidebar-link":!0}};return s>2&&(r.style={"padding-left":s+"rem"}),t("RouterLink",r,n)}function r(t,e,n,a,o,l=1){return!e||l>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const u=Object(i.e)(a,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[s(t,n+"#"+e.slug,e.title,u,e.level-1),r(t,e.children,n,a,o,l+1)])}))}var a={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:a,$themeConfig:o,$themeLocaleConfig:l},props:{item:u,sidebarDepth:c}}){const p=Object(i.e)(a,u.path),h="auto"===u.type?p||u.children.some(t=>Object(i.e)(a,u.basePath+"#"+t.slug)):p,d="external"===u.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,u.path,u.title||u.path):s(t,u.path,u.title||u.path,h),f=[e.frontmatter.sidebarDepth,c,l.sidebarDepth,o.sidebarDepth,1].find(t=>void 0!==t),m=l.displayAllHeaders||o.displayAllHeaders;if("auto"===u.type)return[d,r(t,u.children,u.basePath,a,f)];if((h||m)&&u.headers&&!i.d.test(u.path)){return[d,r(t,Object(i.c)(u.headers),u.path,a,f)]}return d}},o=(n(262),n(8)),l=Object(o.a)(a,void 0,void 0,!1,null,null,null);e.default=l.exports},268:function(t,e,n){"use strict";n(257)},274:function(t,e,n){"use strict";n(260)},275:function(t,e,n){},276:function(t,e,n){"use strict";n.r(e);var i=n(264),s=n(249),r=n(251),a=n(265),o=n(46),l={name:"NavLinks",components:{NavLink:r.default,DropdownLink:i.default,ThemeSwitcher:a.default},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},showThemeSwitcher:()=>Array.isArray(o.a)&&o.a.includes("ThemeManager"),nav(){const{locales:t}=this.$site;if(t&&Object.keys(t).length>1){const e=this.$page.path,n=this.$router.options.routes,i=this.$site.themeConfig.locales||{},s={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(t).map(s=>{const r=t[s],a=i[s]&&i[s].label||r.lang;let o;return r.lang===this.$lang?o=e:(o=e.replace(this.$localeConfig.path,s),n.some(t=>t.path===o)||(o=s)),{text:a,link:o}})};return[...this.userNav,s]}return this.userNav},userLinks(){return(this.nav||[]).map(t=>Object.assign(Object(s.j)(t),{items:(t.items||[]).map(s.j)}))},repoLink(){const{repo:t}=this.$site.themeConfig;return t?/^https?:/.test(t)?t:"https://github.com/"+t:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"];for(let n=0;nfunction t(e,n,i,r=1){if("string"==typeof e)return f(n,e,i);if(Array.isArray(e))return Object.assign(f(n,e[0],i),{title:e[1]});{const s=e.children||[];return 0===s.length&&e.path?Object.assign(f(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:s.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function m(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function k(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},250:function(t,e,n){},251:function(t,e,n){"use strict";n.r(e);var i=n(249),r={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=n(8),a=Object(s.a)(r,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=a.exports},252:function(t,e,n){"use strict";n.r(e);var i={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},r=(n(253),n(8)),s=Object(r.a)(i,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=s.exports},253:function(t,e,n){"use strict";n(250)},254:function(t,e,n){},257:function(t,e,n){},261:function(t,e,n){"use strict";n(254)},264:function(t,e,n){"use strict";n.r(e);var i=n(251),r=n(252),s=n(94),a=n.n(s),o={name:"DropdownLink",components:{NavLink:i.default,DropdownTransition:r.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>a()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(261),n(8)),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,i){return e("li",{key:n.link||i,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(i){return e("li",{key:i.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:i},on:{focusout:function(e){t.isLastItemOfArray(i,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports},265:function(t,e,n){"use strict";n.r(e);const i=["light","dark"];var r={name:"ThemeSwitcher",data:()=>({theme:""}),computed:{nextTheme(){const t=(i.indexOf(this.theme)+1)%i.length;return i[t]}},methods:{switchTheme(){const t=(i.indexOf(this.theme)+1)%i.length;window.__setPreferredTheme(i[t]),this.theme=i[t]}},async mounted(){void 0!==window.__theme&&(this.theme=window.__theme)}},s=n(8),a=Object(s.a)(r,(function(){var t=this,e=t._self._c;return e("a",{staticClass:"nav-link",attrs:{role:"button","aria-label":"Switch to "+t.nextTheme+" mode"},on:{click:function(e){return e.preventDefault(),t.switchTheme()}}},["dark"===t.theme?e("span",{key:"dark"},[t._v("Switch to light mode")]):"light"===t.theme?e("span",{key:"light"},[t._v("Switch to dark mode")]):e("span",{key:"light"},[t._v("Switch theme")])])}),[],!1,null,null,null);e.default=a.exports},268:function(t,e,n){"use strict";n(257)},276:function(t,e,n){"use strict";n.r(e);var i=n(264),r=n(249),s=n(251),a=n(265),o=n(46),l={name:"NavLinks",components:{NavLink:s.default,DropdownLink:i.default,ThemeSwitcher:a.default},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},showThemeSwitcher:()=>Array.isArray(o.a)&&o.a.includes("ThemeManager"),nav(){const{locales:t}=this.$site;if(t&&Object.keys(t).length>1){const e=this.$page.path,n=this.$router.options.routes,i=this.$site.themeConfig.locales||{},r={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(t).map(r=>{const s=t[r],a=i[r]&&i[r].label||s.lang;let o;return s.lang===this.$lang?o=e:(o=e.replace(this.$localeConfig.path,r),n.some(t=>t.path===o)||(o=r)),{text:a,link:o}})};return[...this.userNav,r]}return this.userNav},userLinks(){return(this.nav||[]).map(t=>Object.assign(Object(r.j)(t),{items:(t.items||[]).map(r.j)}))},repoLink(){const{repo:t}=this.$site.themeConfig;return t?/^https?:/.test(t)?t:"https://github.com/"+t:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"];for(let n=0;nfunction t(e,n,r,i=1){if("string"==typeof e)return d(n,e,r);if(Array.isArray(e))return Object.assign(d(n,e[0],r),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function g(t){const e=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function v(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},256:function(t,e){t.exports=function(t){return null==t}},258:function(t,e,n){},259:function(t,e,n){},270:function(t,e,n){"use strict";n(258)},271:function(t,e,n){var r=n(12),i=n(4),a=n(11);t.exports=function(t){return"string"==typeof t||!i(t)&&a(t)&&"[object String]"==r(t)}},272:function(t,e,n){"use strict";n(259)},273:function(t,e,n){},278:function(t,e,n){"use strict";n.r(e);var r=n(256),i=n.n(r),a=n(249),s={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=i()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:n="",docsBranch:r="master",docsRepo:a=e}=this.$site.themeConfig;return t&&a&&this.$page.relativePath?this.createEditLink(e,a,n,r,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,n,r,i){if(/bitbucket.org/.test(e)){return e.replace(a.a,"")+"/src"+`/${r}/`+(n?n.replace(a.a,"")+"/":"")+i+`?mode=edit&spa=0&at=${r}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(a.a,"")+"/-/edit"+`/${r}/`+(n?n.replace(a.a,"")+"/":"")+i}return(a.i.test(e)?e:"https://github.com/"+e).replace(a.a,"")+"/edit"+`/${r}/`+(n?n.replace(a.a,"")+"/":"")+i}}},o=(n(270),n(8)),u=Object(o.a)(s,(function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])}),[],!1,null,null,null);e.default=u.exports},279:function(t,e,n){"use strict";n.r(e);n(93);var r=n(249),i=n(271),a=n.n(i),s=n(256),o=n.n(s),u={name:"PageNav",props:["sidebarItems"],computed:{prev(){return l(c.PREV,this)},next(){return l(c.NEXT,this)}}};const c={NEXT:{resolveLink:function(t,e){return p(t,e,1)},getThemeLinkConfig:({nextLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.next},PREV:{resolveLink:function(t,e){return p(t,e,-1)},getThemeLinkConfig:({prevLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.prev}};function l(t,{$themeConfig:e,$page:n,$route:i,$site:s,sidebarItems:u}){const{resolveLink:c,getThemeLinkConfig:l,getPageLinkConfig:p}=t,f=l(e),d=p(n),h=o()(d)?f:d;return!1===h?void 0:a()(h)?Object(r.k)(s.pages,h,i.path):c(n,u)}function p(t,e,n){const r=[];!function t(e,n){for(let r=0,i=e.length;r({placeholder:void 0}),watch:{$lang(e){this.update(this.options,e)},options(e){this.update(e,this.$lang)}},mounted(){this.initialize(this.options,this.$lang),this.placeholder=this.$site.themeConfig.searchPlaceholder||""},methods:{initialize(e,t){Promise.all([Promise.all([a.e(0),a.e(10)]).then(a.t.bind(null,319,7)),Promise.all([a.e(0),a.e(10)]).then(a.t.bind(null,320,7))]).then(([a])=>{a=a.default;const{algoliaOptions:i={}}=e;a(Object.assign({},e,{inputSelector:"#algolia-search-input",algoliaOptions:Object.assign({facetFilters:["lang:"+t].concat(i.facetFilters||[])},i),handleSelected:(e,t,a)=>{const{pathname:i,hash:n}=new URL(a.url),r=i.replace(this.$site.base,"/"),s=decodeURIComponent(n);this.$router.push(`${r}${s}`)}}))})},update(e,t){this.$el.innerHTML='',this.initialize(e,t)}}},n=(a(300),a(8)),r=Object(n.a)(i,(function(){var e=this._self._c;return e("form",{staticClass:"algolia-search-wrapper search-box",attrs:{id:"search-form",role:"search"}},[e("input",{staticClass:"search-query",attrs:{id:"algolia-search-input",placeholder:this.placeholder}})])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/16.3c124f7a.js b/assets/js/16.3c124f7a.js new file mode 100644 index 00000000..46109568 --- /dev/null +++ b/assets/js/16.3c124f7a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[16,22,24],{249:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return s})),n.d(e,"i",(function(){return o})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return h})),n.d(e,"l",(function(){return d})),n.d(e,"c",(function(){return b})),n.d(e,"j",(function(){return g}));n(93);const i=/#.*$/,r=/\.(md|html)$/,s=/\/$/,o=/^[a-z]+:/i;function a(t){return decodeURI(t).replace(i,"").replace(r,"")}function l(t){return o.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(i),n=e?e[0]:"",r=a(t);return s.test(r)?t:r+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),r=function(t){const e=t.match(i);if(e)return e[0]}(e);if(r&&n!==r)return!1;return a(t.path)===a(e)}function h(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const r=e.split("/");n&&r[r.length-1]||r.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,r=1){if("string"==typeof e)return h(n,e,i);if(Array.isArray(e))return Object.assign(h(n,e[0],i),{title:e[1]});{const s=e.children||[];return 0===s.length&&e.path?Object.assign(h(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:s.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function m(t){const e=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function b(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function g(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},250:function(t,e,n){},251:function(t,e,n){"use strict";n.r(e);var i=n(249),r={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=n(8),o=Object(s.a)(r,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=o.exports},252:function(t,e,n){"use strict";n.r(e);var i={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},r=(n(253),n(8)),s=Object(r.a)(i,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=s.exports},253:function(t,e,n){"use strict";n(250)},254:function(t,e,n){},261:function(t,e,n){"use strict";n(254)},264:function(t,e,n){"use strict";n.r(e);var i=n(251),r=n(252),s=n(94),o=n.n(s),a={name:"DropdownLink",components:{NavLink:i.default,DropdownTransition:r.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>o()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(261),n(8)),u=Object(l.a)(a,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,i){return e("li",{key:n.link||i,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(i){return e("li",{key:i.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:i},on:{focusout:function(e){t.isLastItemOfArray(i,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports}}]); \ No newline at end of file diff --git a/assets/js/17.05043320.js b/assets/js/17.05043320.js new file mode 100644 index 00000000..8a93d3a8 --- /dev/null +++ b/assets/js/17.05043320.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{249:function(t,n,e){"use strict";e.d(n,"d",(function(){return r})),e.d(n,"a",(function(){return o})),e.d(n,"i",(function(){return a})),e.d(n,"f",(function(){return u})),e.d(n,"g",(function(){return c})),e.d(n,"h",(function(){return p})),e.d(n,"b",(function(){return l})),e.d(n,"e",(function(){return f})),e.d(n,"k",(function(){return h})),e.d(n,"l",(function(){return d})),e.d(n,"c",(function(){return v})),e.d(n,"j",(function(){return b}));e(93);const r=/#.*$/,i=/\.(md|html)$/,o=/\/$/,a=/^[a-z]+:/i;function s(t){return decodeURI(t).replace(r,"").replace(i,"")}function u(t){return a.test(t)}function c(t){return/^mailto:/.test(t)}function p(t){return/^tel:/.test(t)}function l(t){if(u(t))return t;const n=t.match(r),e=n?n[0]:"",i=s(t);return o.test(i)?t:i+".html"+e}function f(t,n){const e=decodeURIComponent(t.hash),i=function(t){const n=t.match(r);if(n)return n[0]}(n);if(i&&e!==i)return!1;return s(t.path)===s(n)}function h(t,n,e){if(u(n))return{type:"external",path:n};e&&(n=function(t,n,e){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return n+t;const i=n.split("/");e&&i[i.length-1]||i.pop();const o=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(n,e,r,i=1){if("string"==typeof n)return h(e,n,r);if(Array.isArray(n))return Object.assign(h(e,n[0],r),{title:n[1]});{const o=n.children||[];return 0===o.length&&n.path?Object.assign(h(e,n.path,r),{title:n.title}):{type:"group",path:n.path,title:n.title,sidebarDepth:n.sidebarDepth,initialOpenGroupIndex:n.initialOpenGroupIndex,children:o.map(n=>t(n,e,r,i+1)),collapsable:!1!==n.collapsable}}}(t,i,e)):[]}return[]}function g(t){const n=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:n.map(n=>({type:"auto",title:n.title,basePath:t.path,path:t.path+"#"+n.slug,children:n.children||[]}))}]}function v(t){let n;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?n=t:n&&(n.children||(n.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},256:function(t,n){t.exports=function(t){return null==t}},259:function(t,n,e){},271:function(t,n,e){var r=e(12),i=e(4),o=e(11);t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},272:function(t,n,e){"use strict";e(259)},279:function(t,n,e){"use strict";e.r(n);e(93);var r=e(249),i=e(271),o=e.n(i),a=e(256),s=e.n(a),u={name:"PageNav",props:["sidebarItems"],computed:{prev(){return p(c.PREV,this)},next(){return p(c.NEXT,this)}}};const c={NEXT:{resolveLink:function(t,n){return l(t,n,1)},getThemeLinkConfig:({nextLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.next},PREV:{resolveLink:function(t,n){return l(t,n,-1)},getThemeLinkConfig:({prevLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.prev}};function p(t,{$themeConfig:n,$page:e,$route:i,$site:a,sidebarItems:u}){const{resolveLink:c,getThemeLinkConfig:p,getPageLinkConfig:l}=t,f=p(n),h=l(e),d=s()(h)?f:h;return!1===d?void 0:o()(d)?Object(r.k)(a.pages,d,i.path):c(e,u)}function l(t,n,e){const r=[];!function t(n,e){for(let r=0,i=n.length;rfunction t(e,n,i,r=1){if("string"==typeof e)return d(n,e,i);if(Array.isArray(e))return Object.assign(d(n,e[0],i),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function m(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},251:function(t,e,n){"use strict";n.r(e);var i=n(249),r={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},a=n(8),s=Object(a.a)(r,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=s.exports},267:function(t,e,n){},280:function(t,e,n){"use strict";n(267)},292:function(t,e,n){"use strict";n.r(e);var i={name:"Home",components:{NavLink:n(251).default},computed:{data(){return this.$page.frontmatter},actionLink(){return{link:this.data.actionLink,text:this.data.actionText}}}},r=(n(280),n(8)),a=Object(r.a)(i,(function(){var t=this,e=t._self._c;return e("main",{staticClass:"home",attrs:{"aria-labelledby":null!==t.data.heroText?"main-title":null}},[e("header",{staticClass:"hero"},[t.data.heroImage?e("img",{attrs:{src:t.$withBase(t.data.heroImage),alt:t.data.heroAlt||"hero"}}):t._e(),t._v(" "),null!==t.data.heroText?e("h1",{attrs:{id:"main-title"}},[t._v("\n "+t._s(t.data.heroText||t.$title||"Hello")+"\n ")]):t._e(),t._v(" "),null!==t.data.tagline?e("p",{staticClass:"description"},[t._v("\n "+t._s(t.data.tagline||t.$description||"Welcome to your VuePress site")+"\n ")]):t._e(),t._v(" "),t.data.actionText&&t.data.actionLink?e("p",{staticClass:"action"},[e("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()]),t._v(" "),t.data.features&&t.data.features.length?e("div",{staticClass:"features"},t._l(t.data.features,(function(n,i){return e("div",{key:i,staticClass:"feature"},[e("h2",[t._v(t._s(n.title))]),t._v(" "),e("p",[t._v(t._s(n.details))])])})),0):t._e(),t._v(" "),e("Content",{staticClass:"theme-succinct-content custom"}),t._v(" "),t.data.footer?e("div",{staticClass:"footer"},[t._v("\n "+t._s(t.data.footer)+"\n ")]):t._e()],1)}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/19.c3be6c62.js b/assets/js/19.c3be6c62.js new file mode 100644 index 00000000..c3c3f62f --- /dev/null +++ b/assets/js/19.c3be6c62.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{249:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return c})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return l})),n.d(e,"b",(function(){return d})),n.d(e,"e",(function(){return p})),n.d(e,"k",(function(){return f})),n.d(e,"l",(function(){return h})),n.d(e,"c",(function(){return m})),n.d(e,"j",(function(){return b}));n(93);const i=/#.*$/,r=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(r,"")}function c(t){return s.test(t)}function u(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function d(t){if(c(t))return t;const e=t.match(i),n=e?e[0]:"",r=o(t);return a.test(r)?t:r+".html"+n}function p(t,e){const n=decodeURIComponent(t.hash),r=function(t){const e=t.match(i);if(e)return e[0]}(e);if(r&&n!==r)return!1;return o(t.path)===o(e)}function f(t,e,n){if(c(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const r=e.split("/");n&&r[r.length-1]||r.pop();const a=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,r=1){if("string"==typeof e)return f(n,e,i);if(Array.isArray(e))return Object.assign(f(n,e[0],i),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(f(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function g(t){const e=m(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function m(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},256:function(t,e){t.exports=function(t){return null==t}},258:function(t,e,n){},270:function(t,e,n){"use strict";n(258)},278:function(t,e,n){"use strict";n.r(e);var i=n(256),r=n.n(i),a=n(249),s={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=r()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:n="",docsBranch:i="master",docsRepo:a=e}=this.$site.themeConfig;return t&&a&&this.$page.relativePath?this.createEditLink(e,a,n,i,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,n,i,r){if(/bitbucket.org/.test(e)){return e.replace(a.a,"")+"/src"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r+`?mode=edit&spa=0&at=${i}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(a.a,"")+"/-/edit"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r}return(a.i.test(e)?e:"https://github.com/"+e).replace(a.a,"")+"/edit"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r}}},o=(n(270),n(8)),c=Object(o.a)(s,(function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])}),[],!1,null,null,null);e.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/2.b5dad6a6.js b/assets/js/2.b5dad6a6.js deleted file mode 100644 index a3ca4eb5..00000000 --- a/assets/js/2.b5dad6a6.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{249:function(e,r,t){"use strict";t.d(r,"d",(function(){return s})),t.d(r,"a",(function(){return i})),t.d(r,"i",(function(){return o})),t.d(r,"f",(function(){return l})),t.d(r,"g",(function(){return c})),t.d(r,"h",(function(){return u})),t.d(r,"b",(function(){return p})),t.d(r,"e",(function(){return h})),t.d(r,"k",(function(){return d})),t.d(r,"l",(function(){return f})),t.d(r,"c",(function(){return m})),t.d(r,"j",(function(){return b}));t(94);const s=/#.*$/,a=/\.(md|html)$/,i=/\/$/,o=/^[a-z]+:/i;function n(e){return decodeURI(e).replace(s,"").replace(a,"")}function l(e){return o.test(e)}function c(e){return/^mailto:/.test(e)}function u(e){return/^tel:/.test(e)}function p(e){if(l(e))return e;const r=e.match(s),t=r?r[0]:"",a=n(e);return i.test(a)?e:a+".html"+t}function h(e,r){const t=decodeURIComponent(e.hash),a=function(e){const r=e.match(s);if(r)return r[0]}(r);if(a&&t!==a)return!1;return n(e.path)===n(r)}function d(e,r,t){if(l(r))return{type:"external",path:r};t&&(r=function(e,r,t){const s=e.charAt(0);if("/"===s)return e;if("?"===s||"#"===s)return r+e;const a=r.split("/");t&&a[a.length-1]||a.pop();const i=e.replace(/^\//,"").split("/");for(let e=0;efunction e(r,t,s,a=1){if("string"==typeof r)return d(t,r,s);if(Array.isArray(r))return Object.assign(d(t,r[0],s),{title:r[1]});{const i=r.children||[];return 0===i.length&&r.path?Object.assign(d(t,r.path,s),{title:r.title}):{type:"group",path:r.path,title:r.title,sidebarDepth:r.sidebarDepth,initialOpenGroupIndex:r.initialOpenGroupIndex,children:i.map(r=>e(r,t,s,a+1)),collapsable:!1!==r.collapsable}}}(e,a,t)):[]}return[]}function g(e){const r=m(e.headers||[]);return[{type:"group",collapsable:!1,title:e.title,path:null,children:r.map(r=>({type:"auto",title:r.title,basePath:e.path,path:e.path+"#"+r.slug,children:r.children||[]}))}]}function m(e){let r;return(e=e.map(e=>Object.assign({},e))).forEach(e=>{2===e.level?r=e:r&&(r.children||(r.children=[])).push(e)}),e.filter(e=>2===e.level)}function b(e){return Object.assign(e,{type:e.items&&e.items.length?"links":"link"})}},250:function(e,r,t){},251:function(e,r,t){},252:function(e,r,t){},253:function(e,r,t){},254:function(e,r,t){},255:function(e,r,t){},256:function(e,r,t){},257:function(e,r){e.exports=function(e){return null==e}},258:function(e,r,t){},259:function(e,r,t){},260:function(e,r,t){},261:function(e,r,t){},262:function(e,r,t){},263:function(e,r,t){},268:function(e,r,t){"use strict";t.r(r);var s=t(249),a={name:"SidebarGroup",components:{DropdownTransition:t(269).a},props:["item","open","collapsable","depth"],beforeCreate(){this.$options.components.SidebarLinks=t(268).default},methods:{isActive:s.e}},i=(t(284),t(7)),o=Object(i.a)(a,(function(){var e=this,r=e._self._c;return r("section",{staticClass:"sidebar-group",class:[{collapsable:e.collapsable,"is-sub-group":0!==e.depth},"depth-"+e.depth]},[e.item.path?r("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:e.open,active:e.isActive(e.$route,e.item.path)},attrs:{to:e.item.path},nativeOn:{click:function(r){return e.$emit("toggle")}}},[r("span",[e._v(e._s(e.item.title))]),e._v(" "),e.collapsable?r("span",{staticClass:"arrow",class:e.open?"down":"right"}):e._e()]):r("p",{staticClass:"sidebar-heading",class:{open:e.open},on:{click:function(r){return e.$emit("toggle")}}},[r("span",[e._v(e._s(e.item.title))]),e._v(" "),e.collapsable?r("span",{staticClass:"arrow",class:e.open?"down":"right"}):e._e()]),e._v(" "),r("DropdownTransition",[e.open||!e.collapsable?r("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:e.item.children,"sidebar-depth":e.item.sidebarDepth,"initial-open-group-index":e.item.initialOpenGroupIndex,depth:e.depth+1}}):e._e()],1)],1)}),[],!1,null,null,null).exports;function n(e,r,t,s,a){const i={props:{to:r,activeClass:"",exactActiveClass:""},class:{active:s,"sidebar-link":!0}};return a>2&&(i.style={"padding-left":a+"rem"}),e("RouterLink",i,t)}function l(e,r,t,a,i,o=1){return!r||o>i?null:e("ul",{class:"sidebar-sub-headers"},r.map(r=>{const c=Object(s.e)(a,t+"#"+r.slug);return e("li",{class:"sidebar-sub-header"},[n(e,t+"#"+r.slug,r.title,c,r.level-1),l(e,r.children,t,a,i,o+1)])}))}var c={functional:!0,props:["item","sidebarDepth"],render(e,{parent:{$page:r,$site:t,$route:a,$themeConfig:i,$themeLocaleConfig:o},props:{item:c,sidebarDepth:u}}){const p=Object(s.e)(a,c.path),h="auto"===c.type?p||c.children.some(e=>Object(s.e)(a,c.basePath+"#"+e.slug)):p,d="external"===c.type?function(e,r,t){return e("a",{attrs:{href:r,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[t,e("OutboundLink")])}(e,c.path,c.title||c.path):n(e,c.path,c.title||c.path,h),f=[r.frontmatter.sidebarDepth,u,o.sidebarDepth,i.sidebarDepth,1].find(e=>void 0!==e),g=o.displayAllHeaders||i.displayAllHeaders;if("auto"===c.type)return[d,l(e,c.children,c.basePath,a,f)];if((h||g)&&c.headers&&!s.d.test(c.path)){return[d,l(e,Object(s.c)(c.headers),c.path,a,f)]}return d}};t(285);function u(e,r){return"group"===r.type&&r.children.some(r=>"group"===r.type?u(e,r):"page"===r.type&&Object(s.e)(e,r.path))}var p={name:"SidebarLinks",components:{SidebarGroup:o,SidebarLink:Object(i.a)(c,void 0,void 0,!1,null,null,null).exports},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const e=function(e,r){for(let t=0;t-1&&(this.openGroupIndex=e)},toggleGroup(e){this.openGroupIndex=e===this.openGroupIndex?-1:e},isActive(e){return Object(s.e)(this.$route,e.regularPath)}}},h=Object(i.a)(p,(function(){var e=this,r=e._self._c;return e.items.length?r("ul",{staticClass:"sidebar-links"},e._l(e.items,(function(t,s){return r("li",{key:s},["group"===t.type?r("SidebarGroup",{attrs:{item:t,open:s===e.openGroupIndex,collapsable:t.collapsable||t.collapsible,depth:e.depth},on:{toggle:function(r){return e.toggleGroup(s)}}}):r("SidebarLink",{attrs:{"sidebar-depth":e.sidebarDepth,item:t}})],1)})),0):e._e()}),[],!1,null,null,null);r.default=h.exports},269:function(e,r,t){"use strict";var s={name:"DropdownTransition",methods:{setHeight(e){e.style.height=e.scrollHeight+"px"},unsetHeight(e){e.style.height=""}}},a=(t(276),t(7)),i=Object(a.a)(s,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);r.a=i.exports},270:function(e,r,t){"use strict";t(250)},271:function(e,r,t){"use strict";!function(r,t,s){let a;(a=s.define)&&a.amd?a([],(function(){return t})):(a=s.modules)?a["FlexSearch".toLowerCase()]=t:e.exports=t}(0,function e(r){function t(e,r){const t=r?r.id:e&&e.id;this.id=t||0===t?t:S++,this.init(e,r),o(this,"index",(function(){return this.a?Object.keys(this.a.index[this.a.keys[0]].c):Object.keys(this.c)})),o(this,"length",(function(){return this.index.length}))}function s(e,r,t,s){return this.u!==this.g&&(this.o=this.o.concat(t),this.u++,s&&this.o.length>=s&&(this.u=this.g),this.u===this.g&&(this.cache&&this.j.set(r,this.o),this.F&&this.F(this.o))),this}function a(e,r){const t=e.length,s=y(r),a=[];for(let i=0,o=0;i=o&&((e=(e=e[n-(a+.5>>0)])[t]||(e[t]=[]))[e.length]=s),a)}function u(e,r){if(e){const t=Object.keys(e);for(let s=0,a=t.length;s(e=e.length-r.length)?1:e?-1:0}function d(e,r){return(e=e[N])<(r=r[N])?-1:e>r?1:0}function f(e,r){const t=N.length;for(let s=0;sr?1:0}function g(e,r,t){return e?{page:e,next:r?""+r:null,result:t}:t}function m(e,r,t,s,a,i,o){let n,l=[];if(!0===t){t="0";var c=""}else c=t&&t.split(":");const u=e.length;if(1o&&(c=0),n=(c=c||0)+r,n=this.m.length&&(this.C=0),this.m[this.C].postMessage({add:!0,id:e,content:r}),this.c[o]=""+this.C,t&&t(),this;if(!i){if(this.async&&"function"!=typeof importScripts){let a=this;return o=new Promise((function(t){setTimeout((function(){a.add(e,r,null,s,!0),a=null,t()}))})),t?(o.then(t),this):o}if(t)return this.add(e,r,null,s,!0),t(),this}if(!(r=this.encode(r)).length)return this;i=y(t=this.f)?t(r):r.split(this.split),this.filter&&(i=a(i,this.filter));const d=x();d._ctx=x();const f=i.length,g=this.threshold,m=this.depth,b=this.b,v=this.i,w=this.D;for(let r=0;rh;t--)c(v,d,p=n.substring(h,t),e,r,u,g,b-1)}break;default:if(l=c(v,d,n,e,1,u,g,b-1),m&&1=g)for(l=d._ctx[n]||(d._ctx[n]=x()),n=this.h[n]||(this.h[n]=k(b-(g||0))),0>(u=r-m)&&(u=0),(p=r+m+1)>f&&(p=f);ua;t--)s=i[t-1],i[t]=s,r[s]=t;i[a]=e,r[e]=a}}}return r},e}();return t}(function(){const e={},r="undefined"!=typeof Blob&&"undefined"!=typeof URL&&URL.createObjectURL;return function(t,s,a,i,o){return a=r?URL.createObjectURL(new Blob(["("+a.toString()+")()"],{type:"text/javascript"})):t+".min.js",e[t+="-"+s]||(e[t]=[]),e[t][o]=new Worker(a),e[t][o].onmessage=i,e[t][o]}}()),this)},272:function(e,r,t){const s=t(273);function a(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}e.exports.getPageText=e=>{if(!e._strippedContent)return"";const{html:r}=e._context.markdown.render(e._strippedContent);return s.decode(r.replace(/(<[^>]+>)+/g," ").replace(/^\s*#\s/gm,""))},e.exports.highlightText=(e,r)=>{let t=e;if(highlightWords=r.split(" ").filter(e=>e.length>0),highlightWords.length>0)for(const e of highlightWords)t=t.replace(new RegExp(a(e),"ig"),"$&");else t=e.replace(new RegExp(a(r),"ig"),"$&");return t}},273:function(e,r,t){(function(e){var s;/*! https://mths.be/he v1.2.0 by @mathias | MIT license */!function(a){var i=r,o=(e&&e.exports,"object"==typeof global&&global);o.global!==o&&o.window;var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[\x01-\x7F]/g,c=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,u=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,p={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},h=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,b={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},v={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},y={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},w=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],q=String.fromCharCode,k={}.hasOwnProperty,x=function(e,r){return k.call(e,r)},D=function(e,r){if(!e)return r;var t,s={};for(t in r)s[t]=x(e,t)?e[t]:r[t];return s},A=function(e,r){var t="";return e>=55296&&e<=57343||e>1114111?(r&&C("character reference outside the permissible Unicode range"),"�"):x(y,e)?(r&&C("disallowed character reference"),y[e]):(r&&function(e,r){for(var t=-1,s=e.length;++t65535&&(t+=q((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=q(e))},E=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},L=function(e){return"&#"+e+";"},C=function(e){throw Error("Parse error: "+e)},S=function(e,r){(r=D(r,S.options)).strict&&g.test(e)&&C("forbidden code point");var t=r.encodeEverything,s=r.useNamedReferences,a=r.allowUnsafeSymbols,i=r.decimal?L:E,o=function(e){return i(e.charCodeAt(0))};return t?(e=e.replace(l,(function(e){return s&&x(p,e)?"&"+p[e]+";":o(e)})),s&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),s&&(e=e.replace(u,(function(e){return"&"+p[e]+";"})))):s?(a||(e=e.replace(h,(function(e){return"&"+p[e]+";"}))),e=(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(e){return"&"+p[e]+";"}))):a||(e=e.replace(h,o)),e.replace(n,(function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);return i(1024*(r-55296)+t-56320+65536)})).replace(c,o)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var T=function(e,r){var t=(r=D(r,T.options)).strict;return t&&f.test(e)&&C("malformed character reference"),e.replace(m,(function(e,s,a,i,o,n,l,c,u){var p,h,d,f,g,m;return s?b[g=s]:a?(g=a,(m=i)&&r.isAttributeValue?(t&&"="==m&&C("`&` did not start a character reference"),e):(t&&C("named character reference was not terminated by a semicolon"),v[g]+(m||""))):o?(d=o,h=n,t&&!h&&C("character reference was not terminated by a semicolon"),p=parseInt(d,10),A(p,t)):l?(f=l,h=c,t&&!h&&C("character reference was not terminated by a semicolon"),p=parseInt(f,16),A(p,t)):(t&&C("named character reference was not terminated by a semicolon"),e)}))};T.options={isAttributeValue:!1,strict:!1};var B={version:"1.2.0",encode:S,decode:T,escape:function(e){return e.replace(h,(function(e){return d[e]}))},unescape:T};void 0===(s=function(){return B}.call(r,t,r,e))||(e.exports=s)}()}).call(this,t(46)(e))},274:function(e,r,t){"use strict";t(251)},275:function(e,r,t){"use strict";t(252)},276:function(e,r,t){"use strict";t(253)},277:function(e,r,t){"use strict";t(254)},278:function(e,r,t){"use strict";t(255)},279:function(e,r,t){"use strict";t(256)},280:function(e,r,t){"use strict";t(258)},281:function(e,r,t){var s=t(12),a=t(4),i=t(11);e.exports=function(e){return"string"==typeof e||!a(e)&&i(e)&&"[object String]"==s(e)}},282:function(e,r,t){"use strict";t(259)},283:function(e,r,t){"use strict";t(260)},284:function(e,r,t){"use strict";t(261)},285:function(e,r,t){"use strict";t(262)},286:function(e,r,t){"use strict";t(263)},299:function(e,r,t){"use strict";t.r(r);var s=t(249),a={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(s.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(e=>e===this.link):"/"===this.link},isNonHttpURI(){return Object(s.g)(this.link)||Object(s.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(s.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(s.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},i=t(7),o=Object(i.a)(a,(function(){var e=this,r=e._self._c;return e.isInternal?r("RouterLink",{staticClass:"nav-link",attrs:{to:e.link,exact:e.exact},nativeOn:{focusout:function(r){return e.focusoutAction.apply(null,arguments)}}},[e._v("\n "+e._s(e.item.text)+"\n")]):r("a",{staticClass:"nav-link external",attrs:{href:e.link,target:e.target,rel:e.rel},on:{focusout:e.focusoutAction}},[e._v("\n "+e._s(e.item.text)+"\n "),e.isBlankTarget?r("OutboundLink"):e._e()],1)}),[],!1,null,null,null).exports,n={name:"Home",components:{NavLink:o},computed:{data(){return this.$page.frontmatter},actionLink(){return{link:this.data.actionLink,text:this.data.actionText}}}},l=(t(270),Object(i.a)(n,(function(){var e=this,r=e._self._c;return r("main",{staticClass:"home",attrs:{"aria-labelledby":null!==e.data.heroText?"main-title":null}},[r("header",{staticClass:"hero"},[e.data.heroImage?r("img",{attrs:{src:e.$withBase(e.data.heroImage),alt:e.data.heroAlt||"hero"}}):e._e(),e._v(" "),null!==e.data.heroText?r("h1",{attrs:{id:"main-title"}},[e._v("\n "+e._s(e.data.heroText||e.$title||"Hello")+"\n ")]):e._e(),e._v(" "),null!==e.data.tagline?r("p",{staticClass:"description"},[e._v("\n "+e._s(e.data.tagline||e.$description||"Welcome to your VuePress site")+"\n ")]):e._e(),e._v(" "),e.data.actionText&&e.data.actionLink?r("p",{staticClass:"action"},[r("NavLink",{staticClass:"action-button",attrs:{item:e.actionLink}})],1):e._e()]),e._v(" "),e.data.features&&e.data.features.length?r("div",{staticClass:"features"},e._l(e.data.features,(function(t,s){return r("div",{key:s,staticClass:"feature"},[r("h2",[e._v(e._s(t.title))]),e._v(" "),r("p",[e._v(e._s(t.details))])])})),0):e._e(),e._v(" "),r("Content",{staticClass:"theme-succinct-content custom"}),e._v(" "),e.data.footer?r("div",{staticClass:"footer"},[e._v("\n "+e._s(e.data.footer)+"\n ")]):e._e()],1)}),[],!1,null,null,null).exports),c=(t(94),t(271)),u=t.n(c),p=t(272),h={data:()=>({query:"",focused:!1,focusIndex:0,placeholder:void 0,index:null}),mounted(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey),this.setupFlexSearch()},beforeDestroy(){document.removeEventListener("keydown",this.onHotkey)},computed:{showSuggestions(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions(){const e=this.query.trim().toLowerCase();if(!e)return;return this.index.search(e,10).map(e=>({...e,title:this.getSuggestionTitle(e),text:this.getSuggestionText(e)}))},alignRight(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},methods:{getPageLocalePath(e){for(const r in this.$site.locales||{})if("/"!==r&&0===e.path.indexOf(r))return r;return"/"},isSearchable(e){let r=null;return null===r||(r=Array.isArray(r)?r:new Array(r),r.filter(r=>e.path.match(r)).length>0)},onHotkey(e){e.srcElement===document.body&&"s".includes(e.key)&&(this.$refs.input.focus(),e.preventDefault())},onUp(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown(){this.showSuggestions&&(this.focusIndex15&&(a-=15,i=".. ");const o=e.content.substr(a,60);return i+Object(p.highlightText)(o,this.query)}}},d=(t(274),Object(i.a)(h,(function(){var e=this,r=e._self._c;return r("div",{staticClass:"search-box"},[r("input",{ref:"input",class:{focused:e.focused},attrs:{"aria-label":"Search",placeholder:e.placeholder,autocomplete:"off",spellcheck:"false"},domProps:{value:e.query},on:{input:function(r){e.query=r.target.value},focus:function(r){e.focused=!0},blur:function(r){e.focused=!1},keyup:[function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.go(e.focusIndex)},function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"up",38,r.key,["Up","ArrowUp"])?null:e.onUp.apply(null,arguments)},function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"down",40,r.key,["Down","ArrowDown"])?null:e.onDown.apply(null,arguments)}]}}),e._v(" "),e.showSuggestions?r("ul",{staticClass:"suggestions",class:{"align-right":e.alignRight},on:{mouseleave:e.unfocus}},e._l(e.suggestions,(function(t,s){return r("li",{key:s,staticClass:"suggestion",class:{focused:s===e.focusIndex},on:{mousedown:function(r){return e.go(s)},mouseenter:function(r){return e.focus(s)}}},[r("a",{attrs:{href:t.regularPath},on:{click:function(e){e.preventDefault()}}},[r("span",{staticClass:"suggestion__title",domProps:{innerHTML:e._s(t.title||t.regularPath)}}),e._v(" "),r("span",{staticClass:"suggestion__result",domProps:{innerHTML:e._s(t.text)}})])])})),0):e._e()])}),[],!1,null,null,null).exports),f=(t(275),Object(i.a)({},(function(){var e=this,r=e._self._c;return r("div",{staticClass:"sidebar-button",on:{click:function(r){return e.$emit("toggle-sidebar")}}},[r("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[r("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null).exports),g=t(269),m=t(95),b=t.n(m),v={name:"DropdownLink",components:{NavLink:o,DropdownTransition:g.a},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(e){this.open=e},isLastItemOfArray:(e,r)=>b()(r)===e,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},y=(t(277),Object(i.a)(v,(function(){var e=this,r=e._self._c;return r("div",{staticClass:"dropdown-wrapper",class:{open:e.open}},[r("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":e.dropdownAriaLabel},on:{click:e.handleDropdown}},[r("span",{staticClass:"title"},[e._v(e._s(e.item.text))]),e._v(" "),r("span",{staticClass:"arrow down"})]),e._v(" "),r("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":e.dropdownAriaLabel},on:{click:function(r){return e.setOpen(!e.open)}}},[r("span",{staticClass:"title"},[e._v(e._s(e.item.text))]),e._v(" "),r("span",{staticClass:"arrow",class:e.open?"down":"right"})]),e._v(" "),r("DropdownTransition",[r("ul",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],staticClass:"nav-dropdown"},e._l(e.item.items,(function(t,s){return r("li",{key:t.link||s,staticClass:"dropdown-item"},["links"===t.type?r("h4",[e._v("\n "+e._s(t.text)+"\n ")]):e._e(),e._v(" "),"links"===t.type?r("ul",{staticClass:"dropdown-subitem-wrapper"},e._l(t.items,(function(s){return r("li",{key:s.link,staticClass:"dropdown-subitem"},[r("NavLink",{attrs:{item:s},on:{focusout:function(r){e.isLastItemOfArray(s,t.items)&&e.isLastItemOfArray(t,e.item.items)&&e.setOpen(!1)}}})],1)})),0):r("NavLink",{attrs:{item:t},on:{focusout:function(r){e.isLastItemOfArray(t,e.item.items)&&e.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null).exports);const w=["light","dark"];var q={name:"ThemeSwitcher",data:()=>({theme:""}),computed:{nextTheme(){const e=(w.indexOf(this.theme)+1)%w.length;return w[e]}},methods:{switchTheme(){const e=(w.indexOf(this.theme)+1)%w.length;window.__setPreferredTheme(w[e]),this.theme=w[e]}},async mounted(){void 0!==window.__theme&&(this.theme=window.__theme)}},k=Object(i.a)(q,(function(){var e=this,r=e._self._c;return r("a",{staticClass:"nav-link",attrs:{role:"button","aria-label":"Switch to "+e.nextTheme+" mode"},on:{click:function(r){return r.preventDefault(),e.switchTheme()}}},["dark"===e.theme?r("span",{key:"dark"},[e._v("Switch to light mode")]):"light"===e.theme?r("span",{key:"light"},[e._v("Switch to dark mode")]):r("span",{key:"light"},[e._v("Switch theme")])])}),[],!1,null,null,null).exports,x=t(88),D={name:"NavLinks",components:{NavLink:o,DropdownLink:y,ThemeSwitcher:k},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},showThemeSwitcher:()=>Array.isArray(x.a)&&x.a.includes("ThemeManager"),nav(){const{locales:e}=this.$site;if(e&&Object.keys(e).length>1){const r=this.$page.path,t=this.$router.options.routes,s=this.$site.themeConfig.locales||{},a={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(e).map(a=>{const i=e[a],o=s[a]&&s[a].label||i.lang;let n;return i.lang===this.$lang?n=r:(n=r.replace(this.$localeConfig.path,a),t.some(e=>e.path===n)||(n=a)),{text:o,link:n}})};return[...this.userNav,a]}return this.userNav},userLinks(){return(this.nav||[]).map(e=>Object.assign(Object(s.j)(e),{items:(e.items||[]).map(s.j)}))},repoLink(){const{repo:e}=this.$site.themeConfig;return e?/^https?:/.test(e)?e:"https://github.com/"+e:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const e=this.repoLink.match(/^https?:\/\/[^/]+/)[0],r=["GitHub","GitLab","Bitbucket"];for(let t=0;t({linksWrapMaxWidth:null}),computed:{algolia(){return this.$themeLocaleConfig.algolia||this.$site.themeConfig.algolia||{}},isAlgoliaSearch(){return this.algolia&&this.algolia.apiKey&&this.algolia.indexName}},mounted(){const e=parseInt(E(this.$el,"paddingLeft"))+parseInt(E(this.$el,"paddingRight")),r=()=>{document.documentElement.clientWidth<719?this.linksWrapMaxWidth=null:this.linksWrapMaxWidth=this.$el.offsetWidth-e-(this.$refs.siteName&&this.$refs.siteName.offsetWidth||0)};r(),window.addEventListener("resize",r,!1)}},C=(t(279),Object(i.a)(L,(function(){var e=this,r=e._self._c;return r("header",{staticClass:"navbar"},[r("SidebarButton",{on:{"toggle-sidebar":function(r){return e.$emit("toggle-sidebar")}}}),e._v(" "),r("RouterLink",{staticClass:"home-link",attrs:{to:e.$localePath}},[e.$site.themeConfig.logo?r("img",{staticClass:"logo",attrs:{src:e.$withBase(e.$site.themeConfig.logo),alt:e.$siteTitle}}):e._e(),e._v(" "),e.$siteTitle?r("span",{ref:"siteName",staticClass:"site-name",class:{"can-hide":e.$site.themeConfig.logo}},[e._v(e._s(e.$siteTitle))]):e._e()]),e._v(" "),r("div",{staticClass:"links",style:e.linksWrapMaxWidth?{"max-width":e.linksWrapMaxWidth+"px"}:{}},[e.isAlgoliaSearch?r("AlgoliaSearchBox",{attrs:{options:e.algolia}}):!1!==e.$site.themeConfig.search&&!1!==e.$page.frontmatter.search?r("SearchBox"):e._e(),e._v(" "),r("NavLinks",{staticClass:"can-hide"})],1)],1)}),[],!1,null,null,null).exports),S=t(257),T=t.n(S),B={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const e=T()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:r,docsDir:t="",docsBranch:s="master",docsRepo:a=r}=this.$site.themeConfig;return e&&a&&this.$page.relativePath?this.createEditLink(r,a,t,s,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(e,r,t,a,i){if(/bitbucket.org/.test(r)){return r.replace(s.a,"")+"/src"+`/${a}/`+(t?t.replace(s.a,"")+"/":"")+i+`?mode=edit&spa=0&at=${a}&fileviewer=file-view-default`}if(/gitlab.com/.test(r)){return r.replace(s.a,"")+"/-/edit"+`/${a}/`+(t?t.replace(s.a,"")+"/":"")+i}return(s.i.test(r)?r:"https://github.com/"+r).replace(s.a,"")+"/edit"+`/${a}/`+(t?t.replace(s.a,"")+"/":"")+i}}},N=(t(280),Object(i.a)(B,(function(){var e=this,r=e._self._c;return r("footer",{staticClass:"page-edit"},[e.editLink?r("div",{staticClass:"edit-link"},[r("a",{attrs:{href:e.editLink,target:"_blank",rel:"noopener noreferrer"}},[e._v(e._s(e.editLinkText))]),e._v(" "),r("OutboundLink")],1):e._e(),e._v(" "),e.lastUpdated?r("div",{staticClass:"last-updated"},[r("span",{staticClass:"prefix"},[e._v(e._s(e.lastUpdatedText)+":")]),e._v(" "),r("span",{staticClass:"time"},[e._v(e._s(e.lastUpdated))])]):e._e()])}),[],!1,null,null,null).exports),R=t(281),O=t.n(R),U={name:"PageNav",props:["sidebarItems"],computed:{prev(){return F(_.PREV,this)},next(){return F(_.NEXT,this)}}};const _={NEXT:{resolveLink:function(e,r){return V(e,r,1)},getThemeLinkConfig:({nextLinks:e})=>e,getPageLinkConfig:({frontmatter:e})=>e.next},PREV:{resolveLink:function(e,r){return V(e,r,-1)},getThemeLinkConfig:({prevLinks:e})=>e,getPageLinkConfig:({frontmatter:e})=>e.prev}};function F(e,{$themeConfig:r,$page:t,$route:a,$site:i,sidebarItems:o}){const{resolveLink:n,getThemeLinkConfig:l,getPageLinkConfig:c}=e,u=l(r),p=c(t),h=T()(p)?u:p;return!1===h?void 0:O()(h)?Object(s.k)(i.pages,h,a.path):n(t,o)}function V(e,r,t){const s=[];!function e(r,t){for(let s=0,a=r.length;s({isSidebarOpen:!1}),computed:{shouldShowNavbar(){const{themeConfig:e}=this.$site,{frontmatter:r}=this.$page;return!1!==r.navbar&&!1!==e.navbar&&(this.$title||e.logo||e.repo||e.nav||this.$themeLocaleConfig.nav)},shouldShowSidebar(){const{frontmatter:e}=this.$page;return!e.home&&!1!==e.sidebar&&this.sidebarItems.length},sidebarItems(){return Object(s.l)(this.$page,this.$page.regularPath,this.$site,this.$localePath)},pageClasses(){const e=this.$page.frontmatter.pageClass;return[{"no-navbar":!this.shouldShowNavbar,"sidebar-open":this.isSidebarOpen,"no-sidebar":!this.shouldShowSidebar},e]}},mounted(){this.$router.afterEach(()=>{this.isSidebarOpen=!1})},methods:{toggleSidebar(e){this.isSidebarOpen="boolean"==typeof e?e:!this.isSidebarOpen,this.$emit("toggle-sidebar",this.isSidebarOpen)},onTouchStart(e){this.touchStart={x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}},onTouchEnd(e){const r=e.changedTouches[0].clientX-this.touchStart.x,t=e.changedTouches[0].clientY-this.touchStart.y;Math.abs(r)>Math.abs(t)&&Math.abs(r)>40&&(r>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}}),$=Object(i.a)(P,(function(){var e=this,r=e._self._c;return r("div",{staticClass:"theme-container",class:e.pageClasses,on:{touchstart:e.onTouchStart,touchend:e.onTouchEnd}},[e.shouldShowNavbar?r("Navbar",{on:{"toggle-sidebar":e.toggleSidebar}}):e._e(),e._v(" "),r("div",{staticClass:"sidebar-mask",on:{click:function(r){return e.toggleSidebar(!1)}}}),e._v(" "),r("Sidebar",{attrs:{items:e.sidebarItems},on:{"toggle-sidebar":e.toggleSidebar},scopedSlots:e._u([{key:"top",fn:function(){return[e._t("sidebar-top")]},proxy:!0},{key:"bottom",fn:function(){return[e._t("sidebar-bottom")]},proxy:!0}],null,!0)}),e._v(" "),e.$page.frontmatter.home?r("Home"):r("Page",{attrs:{"sidebar-items":e.sidebarItems},scopedSlots:e._u([{key:"top",fn:function(){return[e._t("page-top")]},proxy:!0},{key:"bottom",fn:function(){return[e._t("page-bottom")]},proxy:!0}],null,!0)})],1)}),[],!1,null,null,null);r.default=$.exports}}]); \ No newline at end of file diff --git a/assets/js/2.e6250298.js b/assets/js/2.e6250298.js new file mode 100644 index 00000000..f5c1fd11 --- /dev/null +++ b/assets/js/2.e6250298.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{255:function(t,e,a){},256:function(t,e){t.exports=function(t){return null==t}},258:function(t,e,a){},259:function(t,e,a){},260:function(t,e,a){},262:function(t,e,a){"use strict";a(255)},263:function(t,e,a){"use strict";a.r(e);var n=a(277),s=a(266),i=a(249);function r(t,e){return"group"===e.type&&e.children.some(e=>"group"===e.type?r(t,e):"page"===e.type&&Object(i.e)(t,e.path))}var o={name:"SidebarLinks",components:{SidebarGroup:n.default,SidebarLink:s.default},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const t=function(t,e){for(let a=0;a-1&&(this.openGroupIndex=t)},toggleGroup(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive(t){return Object(i.e)(this.$route,t.regularPath)}}},l=a(8),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return t.items.length?e("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(a,n){return e("li",{key:n},["group"===a.type?e("SidebarGroup",{attrs:{item:a,open:n===t.openGroupIndex,collapsable:a.collapsable||a.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(n)}}}):e("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:a}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=u.exports},266:function(t,e,a){"use strict";a.r(e);var n=a(249);function s(t,e,a,n,s){const i={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:n,"sidebar-link":!0}};return s>2&&(i.style={"padding-left":s+"rem"}),t("RouterLink",i,a)}function i(t,e,a,r,o,l=1){return!e||l>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const u=Object(n.e)(r,a+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[s(t,a+"#"+e.slug,e.title,u,e.level-1),i(t,e.children,a,r,o,l+1)])}))}var r={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:a,$route:r,$themeConfig:o,$themeLocaleConfig:l},props:{item:u,sidebarDepth:c}}){const p=Object(n.e)(r,u.path),d="auto"===u.type?p||u.children.some(t=>Object(n.e)(r,u.basePath+"#"+t.slug)):p,h="external"===u.type?function(t,e,a){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[a,t("OutboundLink")])}(t,u.path,u.title||u.path):s(t,u.path,u.title||u.path,d),f=[e.frontmatter.sidebarDepth,c,l.sidebarDepth,o.sidebarDepth,1].find(t=>void 0!==t),b=l.displayAllHeaders||o.displayAllHeaders;if("auto"===u.type)return[h,i(t,u.children,u.basePath,r,f)];if((d||b)&&u.headers&&!n.d.test(u.path)){return[h,i(t,Object(n.c)(u.headers),u.path,r,f)]}return h}},o=(a(262),a(8)),l=Object(o.a)(r,void 0,void 0,!1,null,null,null);e.default=l.exports},267:function(t,e,a){},270:function(t,e,a){"use strict";a(258)},271:function(t,e,a){var n=a(12),s=a(4),i=a(11);t.exports=function(t){return"string"==typeof t||!s(t)&&i(t)&&"[object String]"==n(t)}},272:function(t,e,a){"use strict";a(259)},273:function(t,e,a){},274:function(t,e,a){"use strict";a(260)},275:function(t,e,a){},277:function(t,e,a){"use strict";a.r(e);var n=a(249),s={name:"SidebarGroup",components:{DropdownTransition:a(252).default},props:["item","open","collapsable","depth"],beforeCreate(){this.$options.components.SidebarLinks=a(263).default},methods:{isActive:n.e}},i=(a(274),a(8)),r=Object(i.a)(s,(function(){var t=this,e=t._self._c;return e("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?e("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):e("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),e("DropdownTransition",[t.open||!t.collapsable?e("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,"sidebar-depth":t.item.sidebarDepth,"initial-open-group-index":t.item.initialOpenGroupIndex,depth:t.depth+1}}):t._e()],1)],1)}),[],!1,null,null,null);e.default=r.exports},278:function(t,e,a){"use strict";a.r(e);var n=a(256),s=a.n(n),i=a(249),r={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=s()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:a="",docsBranch:n="master",docsRepo:i=e}=this.$site.themeConfig;return t&&i&&this.$page.relativePath?this.createEditLink(e,i,a,n,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,a,n,s){if(/bitbucket.org/.test(e)){return e.replace(i.a,"")+"/src"+`/${n}/`+(a?a.replace(i.a,"")+"/":"")+s+`?mode=edit&spa=0&at=${n}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(i.a,"")+"/-/edit"+`/${n}/`+(a?a.replace(i.a,"")+"/":"")+s}return(i.i.test(e)?e:"https://github.com/"+e).replace(i.a,"")+"/edit"+`/${n}/`+(a?a.replace(i.a,"")+"/":"")+s}}},o=(a(270),a(8)),l=Object(o.a)(r,(function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])}),[],!1,null,null,null);e.default=l.exports},279:function(t,e,a){"use strict";a.r(e);a(93);var n=a(249),s=a(271),i=a.n(s),r=a(256),o=a.n(r),l={name:"PageNav",props:["sidebarItems"],computed:{prev(){return c(u.PREV,this)},next(){return c(u.NEXT,this)}}};const u={NEXT:{resolveLink:function(t,e){return p(t,e,1)},getThemeLinkConfig:({nextLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.next},PREV:{resolveLink:function(t,e){return p(t,e,-1)},getThemeLinkConfig:({prevLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.prev}};function c(t,{$themeConfig:e,$page:a,$route:s,$site:r,sidebarItems:l}){const{resolveLink:u,getThemeLinkConfig:c,getPageLinkConfig:p}=t,d=c(e),h=p(a),f=o()(h)?d:h;return!1===f?void 0:i()(f)?Object(n.k)(r.pages,f,s.path):u(a,l)}function p(t,e,a){const n=[];!function t(e,a){for(let n=0,s=e.length;n({isSidebarOpen:!1}),computed:{shouldShowNavbar(){const{themeConfig:t}=this.$site,{frontmatter:e}=this.$page;return!1!==e.navbar&&!1!==t.navbar&&(this.$title||t.logo||t.repo||t.nav||this.$themeLocaleConfig.nav)},shouldShowSidebar(){const{frontmatter:t}=this.$page;return!t.home&&!1!==t.sidebar&&this.sidebarItems.length},sidebarItems(){return Object(o.l)(this.$page,this.$page.regularPath,this.$site,this.$localePath)},pageClasses(){const t=this.$page.frontmatter.pageClass;return[{"no-navbar":!this.shouldShowNavbar,"sidebar-open":this.isSidebarOpen,"no-sidebar":!this.shouldShowSidebar},t]}},mounted(){this.$router.afterEach(()=>{this.isSidebarOpen=!1})},methods:{toggleSidebar(t){this.isSidebarOpen="boolean"==typeof t?t:!this.isSidebarOpen,this.$emit("toggle-sidebar",this.isSidebarOpen)},onTouchStart(t){this.touchStart={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY}},onTouchEnd(t){const e=t.changedTouches[0].clientX-this.touchStart.x,a=t.changedTouches[0].clientY-this.touchStart.y;Math.abs(e)>Math.abs(a)&&Math.abs(e)>40&&(e>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}},u=a(8),c=Object(u.a)(l,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"theme-container",class:t.pageClasses,on:{touchstart:t.onTouchStart,touchend:t.onTouchEnd}},[t.shouldShowNavbar?e("Navbar",{on:{"toggle-sidebar":t.toggleSidebar}}):t._e(),t._v(" "),e("div",{staticClass:"sidebar-mask",on:{click:function(e){return t.toggleSidebar(!1)}}}),t._v(" "),e("Sidebar",{attrs:{items:t.sidebarItems},on:{"toggle-sidebar":t.toggleSidebar},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("sidebar-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("sidebar-bottom")]},proxy:!0}],null,!0)}),t._v(" "),t.$page.frontmatter.home?e("Home"):e("Page",{attrs:{"sidebar-items":t.sidebarItems},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("page-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("page-bottom")]},proxy:!0}],null,!0)})],1)}),[],!1,null,null,null);e.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/20.0f28f71f.js b/assets/js/20.0f28f71f.js new file mode 100644 index 00000000..5c93c3d2 --- /dev/null +++ b/assets/js/20.0f28f71f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{249:function(t,e,n){"use strict";n.d(e,"d",(function(){return r})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return o})),n.d(e,"g",(function(){return c})),n.d(e,"h",(function(){return l})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return d})),n.d(e,"l",(function(){return h})),n.d(e,"c",(function(){return g})),n.d(e,"j",(function(){return m}));n(93);const r=/#.*$/,i=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function u(t){return decodeURI(t).replace(r,"").replace(i,"")}function o(t){return s.test(t)}function c(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function p(t){if(o(t))return t;const e=t.match(r),n=e?e[0]:"",i=u(t);return a.test(i)?t:i+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(r);if(e)return e[0]}(e);if(i&&n!==i)return!1;return u(t.path)===u(e)}function d(t,e,n){if(o(e))return{type:"external",path:e};n&&(e=function(t,e,n){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const a=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,r,i=1){if("string"==typeof e)return d(n,e,r);if(Array.isArray(e))return Object.assign(d(n,e[0],r),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function b(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},255:function(t,e,n){},262:function(t,e,n){"use strict";n(255)},266:function(t,e,n){"use strict";n.r(e);var r=n(249);function i(t,e,n,r,i){const a={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:r,"sidebar-link":!0}};return i>2&&(a.style={"padding-left":i+"rem"}),t("RouterLink",a,n)}function a(t,e,n,s,u,o=1){return!e||o>u?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const c=Object(r.e)(s,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[i(t,n+"#"+e.slug,e.title,c,e.level-1),a(t,e.children,n,s,u,o+1)])}))}var s={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:s,$themeConfig:u,$themeLocaleConfig:o},props:{item:c,sidebarDepth:l}}){const p=Object(r.e)(s,c.path),f="auto"===c.type?p||c.children.some(t=>Object(r.e)(s,c.basePath+"#"+t.slug)):p,d="external"===c.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,c.path,c.title||c.path):i(t,c.path,c.title||c.path,f),h=[e.frontmatter.sidebarDepth,l,o.sidebarDepth,u.sidebarDepth,1].find(t=>void 0!==t),b=o.displayAllHeaders||u.displayAllHeaders;if("auto"===c.type)return[d,a(t,c.children,c.basePath,s,h)];if((f||b)&&c.headers&&!r.d.test(c.path)){return[d,a(t,Object(r.c)(c.headers),c.path,s,h)]}return d}},u=(n(262),n(8)),o=Object(u.a)(s,void 0,void 0,!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/21.8b8f3534.js b/assets/js/21.8b8f3534.js new file mode 100644 index 00000000..f32b5a4b --- /dev/null +++ b/assets/js/21.8b8f3534.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{291:function(t,e,n){},317:function(t,e,n){"use strict";n(291)},376:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(317),n(8)),l=Object(p.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/22.dba81abb.js b/assets/js/22.dba81abb.js new file mode 100644 index 00000000..f8124776 --- /dev/null +++ b/assets/js/22.dba81abb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{250:function(t,e,n){},252:function(t,e,n){"use strict";n.r(e);var s={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},i=(n(253),n(8)),o=Object(i.a)(s,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=o.exports},253:function(t,e,n){"use strict";n(250)}}]); \ No newline at end of file diff --git a/assets/js/23.aa0d4a67.js b/assets/js/23.aa0d4a67.js new file mode 100644 index 00000000..a6099cc5 --- /dev/null +++ b/assets/js/23.aa0d4a67.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{269:function(t,c,n){},281:function(t,c,n){"use strict";n(269)},295:function(t,c,n){"use strict";n.r(c);n(281);var i=n(8),s=Object(i.a)({},(function(){var t=this,c=t._self._c;return c("div",{staticClass:"sidebar-button",on:{click:function(c){return t.$emit("toggle-sidebar")}}},[c("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[c("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null);c.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/24.611be38c.js b/assets/js/24.611be38c.js new file mode 100644 index 00000000..a5956a3f --- /dev/null +++ b/assets/js/24.611be38c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{249:function(t,n,e){"use strict";e.d(n,"d",(function(){return r})),e.d(n,"a",(function(){return s})),e.d(n,"i",(function(){return u})),e.d(n,"f",(function(){return a})),e.d(n,"g",(function(){return l})),e.d(n,"h",(function(){return c})),e.d(n,"b",(function(){return f})),e.d(n,"e",(function(){return h})),e.d(n,"k",(function(){return p})),e.d(n,"l",(function(){return d})),e.d(n,"c",(function(){return b})),e.d(n,"j",(function(){return m}));e(93);const r=/#.*$/,i=/\.(md|html)$/,s=/\/$/,u=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(r,"").replace(i,"")}function a(t){return u.test(t)}function l(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function f(t){if(a(t))return t;const n=t.match(r),e=n?n[0]:"",i=o(t);return s.test(i)?t:i+".html"+e}function h(t,n){const e=decodeURIComponent(t.hash),i=function(t){const n=t.match(r);if(n)return n[0]}(n);if(i&&e!==i)return!1;return o(t.path)===o(n)}function p(t,n,e){if(a(n))return{type:"external",path:n};e&&(n=function(t,n,e){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return n+t;const i=n.split("/");e&&i[i.length-1]||i.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(n,e,r,i=1){if("string"==typeof n)return p(e,n,r);if(Array.isArray(n))return Object.assign(p(e,n[0],r),{title:n[1]});{const s=n.children||[];return 0===s.length&&n.path?Object.assign(p(e,n.path,r),{title:n.title}):{type:"group",path:n.path,title:n.title,sidebarDepth:n.sidebarDepth,initialOpenGroupIndex:n.initialOpenGroupIndex,children:s.map(n=>t(n,e,r,i+1)),collapsable:!1!==n.collapsable}}}(t,i,e)):[]}return[]}function g(t){const n=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:n.map(n=>({type:"auto",title:n.title,basePath:t.path,path:t.path+"#"+n.slug,children:n.children||[]}))}]}function b(t){let n;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?n=t:n&&(n.children||(n.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},251:function(t,n,e){"use strict";e.r(n);var r=e(249),i={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(r.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(r.g)(this.link)||Object(r.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(r.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(r.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=e(8),u=Object(s.a)(i,(function(){var t=this,n=t._self._c;return t.isInternal?n("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(n){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):n("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?n("OutboundLink"):t._e()],1)}),[],!1,null,null,null);n.default=u.exports}}]); \ No newline at end of file diff --git a/assets/js/25.2b3bdc86.js b/assets/js/25.2b3bdc86.js new file mode 100644 index 00000000..56ac388d --- /dev/null +++ b/assets/js/25.2b3bdc86.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{327:function(e,t,a){"use strict";a.r(t);var s={props:{name:{type:String,default:"default"},isolated:{type:Boolean,default:!1},languages:Object},data(){return{selectedLanguage:Object.keys(this.languages)[0]}},computed:{root(){let e,t=this;for(;e=t.$parent;)t=e;return t},localStorageKey(){return"vuepress-plugin-code-switcher@"+this.name}},methods:{switchLanguage(e){if(this.isolated)return this.selectedLanguage=e;"undefined"!=typeof localStorage&&localStorage.setItem(this.localStorageKey,e),this.root.$emit("change",{name:this.name,value:e})}},created(){if(!this.isolated){if("undefined"!=typeof localStorage){let e=localStorage.getItem(this.localStorageKey);e&&-1!==Object.keys(this.languages).indexOf(e)&&(this.selectedLanguage=e)}this.root.$on("change",({name:e,value:t})=>{e===this.name&&(this.selectedLanguage=t)})}}},n=a(8),l=Object(n.a)(s,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"code-switcher"},[t("div",{staticClass:"tab-header"},[t("ul",e._l(e.languages,(function(a,s){return t("li",{key:s,class:{active:e.selectedLanguage===s},on:{click:function(t){return e.switchLanguage(s)}}},[e._v(" "+e._s(a)+"\n ")])})),0)]),e._v(" "),e._l(e.languages,(function(a,s){return t("div",{directives:[{name:"show",rawName:"v-show",value:s===e.selectedLanguage,expression:"shorthand === selectedLanguage"}],key:s,staticClass:"tab-content"},[e._t(s)],2)}))],2)}),[],!1,null,null,null);t.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/26.df41eaef.js b/assets/js/26.df41eaef.js new file mode 100644 index 00000000..e2191e93 --- /dev/null +++ b/assets/js/26.df41eaef.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{265:function(e,t,n){"use strict";n.r(t);const h=["light","dark"];var i={name:"ThemeSwitcher",data:()=>({theme:""}),computed:{nextTheme(){const e=(h.indexOf(this.theme)+1)%h.length;return h[e]}},methods:{switchTheme(){const e=(h.indexOf(this.theme)+1)%h.length;window.__setPreferredTheme(h[e]),this.theme=h[e]}},async mounted(){void 0!==window.__theme&&(this.theme=window.__theme)}},o=n(8),s=Object(o.a)(i,(function(){var e=this,t=e._self._c;return t("a",{staticClass:"nav-link",attrs:{role:"button","aria-label":"Switch to "+e.nextTheme+" mode"},on:{click:function(t){return t.preventDefault(),e.switchTheme()}}},["dark"===e.theme?t("span",{key:"dark"},[e._v("Switch to light mode")]):"light"===e.theme?t("span",{key:"light"},[e._v("Switch to dark mode")]):t("span",{key:"light"},[e._v("Switch theme")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/26.f62f3277.js b/assets/js/27.29ae2cf7.js similarity index 54% rename from assets/js/26.f62f3277.js rename to assets/js/27.29ae2cf7.js index 60a9f8fe..2199f5fe 100644 --- a/assets/js/26.f62f3277.js +++ b/assets/js/27.29ae2cf7.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{320:function(t,n,s){"use strict";s.r(n);var e=s(7),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{329:function(t,n,s){"use strict";s.r(n);var e=s(8),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/12.81fd8baa.js b/assets/js/28.e93ec458.js similarity index 95% rename from assets/js/12.81fd8baa.js rename to assets/js/28.e93ec458.js index cc2885b4..0fe78dd6 100644 --- a/assets/js/12.81fd8baa.js +++ b/assets/js/28.e93ec458.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{306:function(e,t,a){"use strict";a.r(t);var o=a(7),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"pojavlauncher-s-32-bit-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher-s-32-bit-support"}},[e._v("#")]),e._v(" PojavLauncher's 32-bit support")]),e._v(" "),t("p",[e._v("Most of you, Android users, who are reading this now, won't be bothered by this documentation, but for the poor souls who have a 32-bit device, let's press "),t("s",[e._v("L")]),e._v(" F to pay respect to them.")]),e._v(" "),t("p",[e._v("Before ARM transitioned into the more-powerful, more-utilizing "),t("code",[e._v("arm64/aarch64")]),e._v(" architecture; everyone was using "),t("code",[e._v("arm/aarch32")])]),e._v(" "),t("p",[e._v("We're not here to give you historical information of it, but feel free to read "),t("a",{attrs:{href:"https://en.m.wikipedia.org/wiki/ARM_architecture_family",target:"_blank",rel:"noopener noreferrer"}},[e._v("this documentary about the ARM platform."),t("OutboundLink")],1)]),e._v(" "),t("p",[t("strong",[e._v("You may encounter issues while using PojavLauncher on 32-bit devices. Here's a list of stuff that's known to be problematic:")])]),e._v(" "),t("h2",{attrs:{id:"ram-allocation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ram-allocation"}},[e._v("#")]),e._v(" RAM Allocation")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Real 32-bit devices (32-bit hardware and firmware), can't allocate more than 768MB of RAM to PojavLauncher. This can't be changed even if the device has more free RAM.")])]),e._v(" "),t("li",[e._v("Examples of real 32-bit SoCs: Qualcomm Snapdragon 801, 800, 600, 400, S4, S3, S2, S1")]),e._v(" "),t("li",[t("strong",[e._v("64-bit devices limited to 32-bit firmware can't allocate more than ~1000MB of RAM. As said earlier, this can't be changed.")])]),e._v(" "),t("li",[e._v("Examples of 64-bit SoCs limited to 32-bit firmware: MediaTek Helio G37, G35, G25, P35, P25, P23, P22")])]),e._v(" "),t("h2",{attrs:{id:"performance"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#performance"}},[e._v("#")]),e._v(" Performance")]),e._v(" "),t("p",[e._v("Due to 32-bit's processing speed limit, Minecraft's performance is always compromised. Even with optimization mods installed, you may get big stutters even on lowest settings. Decreasing RAM Allocation may help performance in certain scenarios.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{331:function(e,t,a){"use strict";a.r(t);var o=a(8),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"pojavlauncher-s-32-bit-support"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher-s-32-bit-support"}},[e._v("#")]),e._v(" PojavLauncher's 32-bit support")]),e._v(" "),t("p",[e._v("Most of you, Android users, who are reading this now, won't be bothered by this documentation, but for the poor souls who have a 32-bit device, let's press "),t("s",[e._v("L")]),e._v(" F to pay respect to them.")]),e._v(" "),t("p",[e._v("Before ARM transitioned into the more-powerful, more-utilizing "),t("code",[e._v("arm64/aarch64")]),e._v(" architecture; everyone was using "),t("code",[e._v("arm/aarch32")])]),e._v(" "),t("p",[e._v("We're not here to give you historical information of it, but feel free to read "),t("a",{attrs:{href:"https://en.m.wikipedia.org/wiki/ARM_architecture_family",target:"_blank",rel:"noopener noreferrer"}},[e._v("this documentary about the ARM platform."),t("OutboundLink")],1)]),e._v(" "),t("p",[t("strong",[e._v("You may encounter issues while using PojavLauncher on 32-bit devices. Here's a list of stuff that's known to be problematic:")])]),e._v(" "),t("h2",{attrs:{id:"ram-allocation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ram-allocation"}},[e._v("#")]),e._v(" RAM Allocation")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Real 32-bit devices (32-bit hardware and firmware), can't allocate more than 768MB of RAM to PojavLauncher. This can't be changed even if the device has more free RAM.")])]),e._v(" "),t("li",[e._v("Examples of real 32-bit SoCs: Qualcomm Snapdragon 801, 800, 600, 400, S4, S3, S2, S1")]),e._v(" "),t("li",[t("strong",[e._v("64-bit devices limited to 32-bit firmware can't allocate more than ~1000MB of RAM. As said earlier, this can't be changed.")])]),e._v(" "),t("li",[e._v("Examples of 64-bit SoCs limited to 32-bit firmware: MediaTek Helio G37, G35, G25, P35, P25, P23, P22")])]),e._v(" "),t("h2",{attrs:{id:"performance"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#performance"}},[e._v("#")]),e._v(" Performance")]),e._v(" "),t("p",[e._v("Due to 32-bit's processing speed limit, Minecraft's performance is always compromised. Even with optimization mods installed, you may get big stutters even on lowest settings. Decreasing RAM Allocation may help performance in certain scenarios.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/13.eac25def.js b/assets/js/29.1bd07c93.js similarity index 58% rename from assets/js/13.eac25def.js rename to assets/js/29.1bd07c93.js index 43d46b90..d18f170e 100644 --- a/assets/js/13.eac25def.js +++ b/assets/js/29.1bd07c93.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{307:function(t,s,n){"use strict";n.r(s);var e=n(7),o=Object(e.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("p",[this._v("s")])])}),[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{330:function(t,s,n){"use strict";n.r(s);var e=n(8),o=Object(e.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("p",[this._v("s")])])}),[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/3.052e87d0.js b/assets/js/3.052e87d0.js deleted file mode 100644 index f0018b48..00000000 --- a/assets/js/3.052e87d0.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{287:function(t,e,o){t.exports=o.p+"assets/img/Android-Actions-1.96a0b3c7.png"},288:function(t,e,o){t.exports=o.p+"assets/img/Android-Actions-2.99495cb5.png"},289:function(t,e,o){t.exports=o.p+"assets/img/Android-Actions-3.d484abce.png"},290:function(t,e,o){t.exports=o.p+"assets/img/Android-Actions-4.07b1b65e.png"},291:function(t,e,o){t.exports=o.p+"assets/img/iOS-Actions-1.0ad48a3b.png"},292:function(t,e,o){t.exports=o.p+"assets/img/iOS-Actions-2.c2192189.png"},293:function(t,e,o){t.exports=o.p+"assets/img/iOS-Actions-3.ad935f47.png"},294:function(t,e,o){t.exports=o.p+"assets/img/iOS-Actions-4.1103453a.png"},322:function(t,e,o){"use strict";o.r(e);var a=o(7),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"installing-the-launcher"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#installing-the-launcher"}},[t._v("#")]),t._v(" Installing the launcher")]),t._v(" "),e("h2",{attrs:{id:"android"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[t._v("#")]),t._v(" Android")]),t._v(" "),e("p",[t._v("Instructions for installing PojavLauncher on Android devices.")]),t._v(" "),e("details",{staticClass:"custom-block details"},[e("summary",[t._v("Google Play")]),t._v(" "),e("p",[t._v("You can grab PojavLauncher from the Google Play Store "),e("a",{attrs:{href:"https://play.google.com/store/apps/details?id=net.kdt.pojavlaunch",target:"_blank",rel:"noopener noreferrer"}},[t._v("here."),e("OutboundLink")],1)])]),t._v(" "),e("details",{staticClass:"custom-block details"},[e("summary",[t._v("GitHub Actions")]),t._v(" "),e("p",[e("strong",[t._v("Requires a GitHub account in order to download.")])]),t._v(" "),e("p",[t._v("If you want the latest and greatest to test before the official release, you can grab a copy from GitHub Actions.")]),t._v(" "),e("ol",[e("li",[t._v("Start off by heading to the "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher",target:"_blank",rel:"noopener noreferrer"}},[t._v("PojavLauncher"),e("OutboundLink")],1),t._v(' repository and switching to the "Actions" tab.')])]),t._v(" "),e("p",[e("img",{attrs:{src:o(287),alt:""}})]),t._v(" "),e("ol",{attrs:{start:"2"}},[e("li",[t._v('Next, select "Android CI" in the workflow selection menu.')])]),t._v(" "),e("p",[e("img",{attrs:{src:o(288),alt:""}})]),t._v(" "),e("ol",{attrs:{start:"3"}},[e("li",[t._v("Choose a build with a green or blue checkmark next to the branch you want to download.\n"),e("ul",[e("li",[e("code",[t._v("v3_openjdk")]),t._v(" will be the one for most people.")])])])]),t._v(" "),e("p",[e("img",{attrs:{src:o(289),alt:""}})]),t._v(" "),e("ol",{attrs:{start:"4"}},[e("li",[t._v('Under "Artifacts", choose the build type you wish to download.\n'),e("ul",[e("li",[e("code",[t._v("app-debug")]),t._v(" will be the one for most people.")])])])]),t._v(" "),e("p",[e("img",{attrs:{src:o(290),alt:""}})]),t._v(" "),e("p",[t._v("Once you have an Actions build downloaded, you can now unzip the file and install it as you would any other .apk file.")])]),t._v(" "),e("details",{staticClass:"custom-block details"},[e("summary",[t._v("Source")]),t._v(" "),e("p",[e("strong",[t._v("Instructions coming in a future revision to this website.")])])]),t._v(" "),e("h2",{attrs:{id:"ios"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[t._v("#")]),t._v(" iOS")]),t._v(" "),e("p",[t._v("Instructions for installing PojavLauncher on Apple devices.")]),t._v(" "),e("details",{staticClass:"custom-block details"},[e("summary",[t._v("Sideloading (TrollStore)")]),t._v(" "),e("p",[t._v("We recommend TrollStore for all users if possible. This method allows for automatic JIT enabling, more memory allocation, and non-revoking installs.")]),t._v(" "),e("ol",[e("li",[e("p",[t._v("Follow the steps to install "),e("a",{attrs:{href:"https://github.com/opa334/TrollStore",target:"_blank",rel:"noopener noreferrer"}},[t._v("TrollStore"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("ul",[e("li",[t._v("TrollStore is compatible with the following iOS versions:\n"),e("ul",[e("li",[t._v("14.0 to 15.4.1")]),t._v(" "),e("li",[t._v("15.5 beta 1 to 15.5 beta 4")]),t._v(" "),e("li",[t._v("15.6 beta 1 to 15.6 beta 5")])])])])]),t._v(" "),e("li",[e("p",[t._v("Download the latest release from "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/releases/latest/download/net.kdt.pojavlauncher.ipa",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("ul",[e("li",[t._v("For a specific release, you can find its package on the "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/releases",target:"_blank",rel:"noopener noreferrer"}},[t._v("Releases"),e("OutboundLink")],1),t._v(" page")])])]),t._v(" "),e("li",[e("p",[t._v("Locate where the .ipa was downloaded, tap the Share icon, and choose TrollStore in the list of options available.")])])]),t._v(" "),e("p",[t._v("You can now enjoy Minecraft: Java Edition on your iDevice!")])]),t._v(" "),e("details",{staticClass:"custom-block details"},[e("summary",[t._v("Sideloading (Unjailbroken)")]),t._v(" "),e("p",[e("strong",[t._v("Requires an active Apple ID, that has signed into the "),e("a",{attrs:{href:"https://developer.apple.com/account",target:"_blank",rel:"noopener noreferrer"}},[t._v("Developer Portal"),e("OutboundLink")],1),t._v(" at least once.")])]),t._v(" "),e("p",[t._v("PojavLauncher supports being sideloaded with AltStore, Sideloadly, and Xcode. Instructions to use AltStore are below--for other options, refer to their documentation.")]),t._v(" "),e("ol",[e("li",[e("p",[t._v("Follow the official guide on installing AltStore itself:")]),t._v(" "),e("ul",[e("li",[t._v("Instructions for "),e("a",{attrs:{href:"https://faq.altstore.io/getting-started/how-to-install-altstore-macos",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mac"),e("OutboundLink")],1),t._v(" and "),e("a",{attrs:{href:"https://faq.altstore.io/getting-started/how-to-install-altstore-windows",target:"_blank",rel:"noopener noreferrer"}},[t._v("Windows"),e("OutboundLink")],1)])])]),t._v(" "),e("li",[e("p",[t._v("Install the latest release using this "),e("a",{attrs:{href:"altstore://install?url=https://github.com/PojavLauncherTeam/PojavLauncher_iOS/releases/latest/download/net.kdt.pojavlauncher.ipa"}},[t._v("Install with AltStore")]),t._v(" button.")]),t._v(" "),e("ul",[e("li",[t._v("For a specific release, you can find its button on the "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/releases",target:"_blank",rel:"noopener noreferrer"}},[t._v("Releases"),e("OutboundLink")],1),t._v(" page")])])])]),t._v(" "),e("p",[t._v("Installing PojavLauncher is not the end for iOS devices. In order to play Minecraft itself, you will need to "),e("RouterLink",{attrs:{to:"/JIT.html"}},[t._v("enable JIT")]),t._v(".")],1)]),t._v(" "),e("details",{staticClass:"custom-block details"},[e("summary",[t._v("Sideloading (Jailbroken)")]),t._v(" "),e("p",[e("strong",[t._v("Currently, AppSync Unified is not supported.")]),t._v(" There is an "),e("a",{attrs:{href:"https://github.com/akemin-dayo/AppSync/issues/108",target:"_blank",rel:"noopener noreferrer"}},[t._v("issue"),e("OutboundLink")],1),t._v(" regarding the data directory when installed with AppSync.")]),t._v(" "),e("p",[t._v("You can follow the "),e("code",[t._v("Sideloading (TrollStore)")]),t._v(" or "),e("code",[t._v("Sideloading (Unjailbroken)")]),t._v(" steps to sideload on a jailbroken iDevice. Regardless of the method, you will benefit from automatic JIT enabling and more memory allocation.")])]),t._v(" "),e("details",{staticClass:"custom-block details"},[e("summary",[t._v("GitHub Actions")]),t._v(" "),e("p",[e("strong",[t._v("Requires a GitHub account in order to download.")])]),t._v(" "),e("p",[t._v("If you want the latest and greatest to test before the official release, you can grab a copy from GitHub Actions.")]),t._v(" "),e("ol",[e("li",[t._v("Start off by heading to the "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS",target:"_blank",rel:"noopener noreferrer"}},[t._v("PojavLauncher iOS"),e("OutboundLink")],1),t._v(' repository and switching to the "Actions" tab.')])]),t._v(" "),e("p",[e("img",{attrs:{src:o(291),alt:""}})]),t._v(" "),e("ol",{attrs:{start:"2"}},[e("li",[t._v('Next, select "Development Build" in the workflow selection menu.')])]),t._v(" "),e("p",[e("img",{attrs:{src:o(292),alt:""}})]),t._v(" "),e("ol",{attrs:{start:"3"}},[e("li",[t._v("Choose a build with a green or blue checkmark next to the branch you want to download.\n"),e("ul",[e("li",[e("code",[t._v("main")]),t._v(" will be the one for most people.")])])])]),t._v(" "),e("p",[e("img",{attrs:{src:o(293),alt:""}})]),t._v(" "),e("ol",{attrs:{start:"4"}},[e("li",[t._v('Under "Artifacts", choose '),e("code",[t._v("net.kdt.pojavlauncher.ipa")])])]),t._v(" "),e("p",[e("img",{attrs:{src:o(294),alt:""}})]),t._v(" "),e("p",[t._v("Once you have an Actions build downloaded, you can now unzip the file and use this .ipa for TrollStore or sideloading.")])]),t._v(" "),e("details",{staticClass:"custom-block details"},[e("summary",[t._v("Source")]),t._v(" "),e("p",[e("strong",[t._v("Instructions coming in a future revision to this website.")])])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/3.37c0b95d.js b/assets/js/3.37c0b95d.js new file mode 100644 index 00000000..0577f8c0 --- /dev/null +++ b/assets/js/3.37c0b95d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3,20,22],{249:function(t,e,n){"use strict";n.d(e,"d",(function(){return r})),n.d(e,"a",(function(){return s})),n.d(e,"i",(function(){return a})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return d})),n.d(e,"k",(function(){return h})),n.d(e,"l",(function(){return f})),n.d(e,"c",(function(){return g})),n.d(e,"j",(function(){return m}));n(93);const r=/#.*$/,i=/\.(md|html)$/,s=/\/$/,a=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(r,"").replace(i,"")}function l(t){return a.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(r),n=e?e[0]:"",i=o(t);return s.test(i)?t:i+".html"+n}function d(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(r);if(e)return e[0]}(e);if(i&&n!==i)return!1;return o(t.path)===o(e)}function h(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,r,i=1){if("string"==typeof e)return h(n,e,r);if(Array.isArray(e))return Object.assign(h(n,e[0],r),{title:e[1]});{const s=e.children||[];return 0===s.length&&e.path?Object.assign(h(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:s.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function b(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},250:function(t,e,n){},252:function(t,e,n){"use strict";n.r(e);var r={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},i=(n(253),n(8)),s=Object(i.a)(r,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=s.exports},253:function(t,e,n){"use strict";n(250)},255:function(t,e,n){},260:function(t,e,n){},262:function(t,e,n){"use strict";n(255)},263:function(t,e,n){"use strict";n.r(e);var r=n(277),i=n(266),s=n(249);function a(t,e){return"group"===e.type&&e.children.some(e=>"group"===e.type?a(t,e):"page"===e.type&&Object(s.e)(t,e.path))}var o={name:"SidebarLinks",components:{SidebarGroup:r.default,SidebarLink:i.default},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const t=function(t,e){for(let n=0;n-1&&(this.openGroupIndex=t)},toggleGroup(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive(t){return Object(s.e)(this.$route,t.regularPath)}}},l=n(8),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return t.items.length?e("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(n,r){return e("li",{key:r},["group"===n.type?e("SidebarGroup",{attrs:{item:n,open:r===t.openGroupIndex,collapsable:n.collapsable||n.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(r)}}}):e("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:n}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=u.exports},266:function(t,e,n){"use strict";n.r(e);var r=n(249);function i(t,e,n,r,i){const s={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:r,"sidebar-link":!0}};return i>2&&(s.style={"padding-left":i+"rem"}),t("RouterLink",s,n)}function s(t,e,n,a,o,l=1){return!e||l>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const u=Object(r.e)(a,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[i(t,n+"#"+e.slug,e.title,u,e.level-1),s(t,e.children,n,a,o,l+1)])}))}var a={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:a,$themeConfig:o,$themeLocaleConfig:l},props:{item:u,sidebarDepth:c}}){const p=Object(r.e)(a,u.path),d="auto"===u.type?p||u.children.some(t=>Object(r.e)(a,u.basePath+"#"+t.slug)):p,h="external"===u.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,u.path,u.title||u.path):i(t,u.path,u.title||u.path,d),f=[e.frontmatter.sidebarDepth,c,l.sidebarDepth,o.sidebarDepth,1].find(t=>void 0!==t),b=l.displayAllHeaders||o.displayAllHeaders;if("auto"===u.type)return[h,s(t,u.children,u.basePath,a,f)];if((d||b)&&u.headers&&!r.d.test(u.path)){return[h,s(t,Object(r.c)(u.headers),u.path,a,f)]}return h}},o=(n(262),n(8)),l=Object(o.a)(a,void 0,void 0,!1,null,null,null);e.default=l.exports},274:function(t,e,n){"use strict";n(260)},277:function(t,e,n){"use strict";n.r(e);var r=n(249),i={name:"SidebarGroup",components:{DropdownTransition:n(252).default},props:["item","open","collapsable","depth"],beforeCreate(){this.$options.components.SidebarLinks=n(263).default},methods:{isActive:r.e}},s=(n(274),n(8)),a=Object(s.a)(i,(function(){var t=this,e=t._self._c;return e("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?e("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):e("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),e("DropdownTransition",[t.open||!t.collapsable?e("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,"sidebar-depth":t.item.sidebarDepth,"initial-open-group-index":t.item.initialOpenGroupIndex,depth:t.depth+1}}):t._e()],1)],1)}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/30.56b12711.js b/assets/js/30.56b12711.js deleted file mode 100644 index 8b52a39c..00000000 --- a/assets/js/30.56b12711.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{325:function(t,i,s){"use strict";s.r(i);var e=s(7),n=Object(e.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"dealing-with-ios-memory-limits"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#dealing-with-ios-memory-limits"}},[this._v("#")]),this._v(" Dealing with iOS memory limits")])])}),[],!1,null,null,null);i.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/14.06dcf2b1.js b/assets/js/30.d4ea725b.js similarity index 98% rename from assets/js/14.06dcf2b1.js rename to assets/js/30.d4ea725b.js index 6173c17c..21d7c9de 100644 --- a/assets/js/14.06dcf2b1.js +++ b/assets/js/30.d4ea725b.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{308:function(e,r,t){"use strict";t.r(r);var a=t(7),n=Object(a.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"pojavlauncher"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher"}},[e._v("#")]),e._v(" PojavLauncher")]),e._v(" "),r("h3",{attrs:{id:"from-the-ashes-of-zhouwei-s-boardwalk-project-comes-pojavlauncher-a-capable-fast-and-open-source-minecraft-java-edition-launcher-for-android-and-ios"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#from-the-ashes-of-zhouwei-s-boardwalk-project-comes-pojavlauncher-a-capable-fast-and-open-source-minecraft-java-edition-launcher-for-android-and-ios"}},[e._v("#")]),e._v(" From the ashes of zhouwei's Boardwalk project comes PojavLauncher, a capable, fast, and open-source Minecraft: Java Edition launcher for Android and iOS.")]),e._v(" "),r("p",[e._v("PojavLauncher is based off of "),r("strong",[e._v("zhouwei's Boardwalk")]),e._v(" project, which brought Minecraft 1.13 to Android. Improved upon and revived by the team, PojavLauncher brings Boardwalk to new heights with more versions, more devices, and even iOS support.")]),e._v(" "),r("p",[e._v("Right now, you're looking at the PojavLauncher website, with information regarding the launcher and various guides on how to navigate, operate, and get to playing. Take a look around, there's more in store!")]),e._v(" "),r("h2",{attrs:{id:"credits"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#credits"}},[e._v("#")]),e._v(" Credits")]),e._v(" "),r("p",[e._v("PojavLauncher didn't just appear out of thin air, but was made possible by the following people!")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://twitter.com/PLaunchTeam",target:"_blank",rel:"noopener noreferrer"}},[e._v("@PojavLauncherTeam"),r("OutboundLink")],1),e._v(", which includes")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/khanhduytran0",target:"_blank",rel:"noopener noreferrer"}},[e._v("@DuyKhanhTran"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/artdeell",target:"_blank",rel:"noopener noreferrer"}},[e._v("@artdeell"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/Mathias-Boulay",target:"_blank",rel:"noopener noreferrer"}},[e._v("@Mathias Bouley"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/crystall1nedev",target:"_blank",rel:"noopener noreferrer"}},[e._v("@crystall1nedev"),r("OutboundLink")],1)])]),e._v(" "),r("p",[e._v("...and many more contributors to the "),r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher/graphs/contributors",target:"_blank",rel:"noopener noreferrer"}},[e._v("Android"),r("OutboundLink")],1),e._v(" and "),r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/graphs/contributors",target:"_blank",rel:"noopener noreferrer"}},[e._v("iOS"),r("OutboundLink")],1),e._v(" repositories.")]),e._v(" "),r("p",[e._v("PojavLauncher also uses the following third-party components:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/zhuowei/Boardwalk",target:"_blank",rel:"noopener noreferrer"}},[e._v("Boardwalk"),r("OutboundLink")],1),e._v(" (JVM Launcher): Unknown License/"),r("a",{attrs:{href:"https://github.com/zhuowei/Boardwalk/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache License 2.0"),r("OutboundLink")],1),e._v(" or GNU GPLv2.")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/caciocavallo",target:"_blank",rel:"noopener noreferrer"}},[e._v("Caciocavallo"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/caciocavallo/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("GNU GPLv2 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[e._v("Android Support Libraries: "),r("a",{attrs:{href:"https://android.googlesource.com/platform/prebuilts/maven_repo/android/+/master/NOTICE.txt",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache License 2.0"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/ptitSeb/gl4es",target:"_blank",rel:"noopener noreferrer"}},[e._v("GL4ES"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/ptitSeb/gl4es/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v("."),r("br")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/openjdk-multiarch-jdk8u",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenJDK"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://openjdk.java.net/legal/gplv2+ce.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("GNU GPLv2 License"),r("OutboundLink")],1),e._v(". On iOS, it was ported by "),r("a",{attrs:{href:"https://twitter.com/diatrus",target:"_blank",rel:"noopener noreferrer"}},[e._v("@Diatrus"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/lwjgl3",target:"_blank",rel:"noopener noreferrer"}},[e._v("LWJGL3"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/LWJGL/lwjgl3/blob/master/LICENSE.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("BSD-3 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/lwjglx",target:"_blank",rel:"noopener noreferrer"}},[e._v("LWJGLX"),r("OutboundLink")],1),e._v(" (LWJGL2 API compatibility layer for LWJGL3): unknown license."),r("br")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://gitlab.freedesktop.org/mesa/mesa",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mesa 3D Graphics Library"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://docs.mesa3d.org/license.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/pro-grade/pro-grade",target:"_blank",rel:"noopener noreferrer"}},[e._v("pro-grade"),r("OutboundLink")],1),e._v(" (Java sandboxing security manager): "),r("a",{attrs:{href:"https://github.com/pro-grade/pro-grade/blob/master/LICENSE.txt",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache License 2.0"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/iqiyi/xHook",target:"_blank",rel:"noopener noreferrer"}},[e._v("xHook"),r("OutboundLink")],1),e._v(" (Used for exit code trapping): "),r("a",{attrs:{href:"https://github.com/iqiyi/xHook/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT and BSD-style licenses"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/anholt/libepoxy",target:"_blank",rel:"noopener noreferrer"}},[e._v("libepoxy"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/anholt/libepoxy/blob/master/COPYING",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/virglrenderer",target:"_blank",rel:"noopener noreferrer"}},[e._v("virglrenderer"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://gitlab.freedesktop.org/virgl/virglrenderer/-/blob/master/COPYING",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://commons.apache.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache Commons"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"http://www.apache.org/licenses/LICENSE-2.0.txt",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache License 2.0"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://code.google.com/p/jsr-305",target:"_blank",rel:"noopener noreferrer"}},[e._v("jsr305"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"http://opensource.org/licenses/BSD-3-Clause",target:"_blank",rel:"noopener noreferrer"}},[e._v("3-Clause BSD License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/stleary/JSON-java",target:"_blank",rel:"noopener noreferrer"}},[e._v("org.json"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://www.json.org/license.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("The JSON License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/kakashidinho/metalangle",target:"_blank",rel:"noopener noreferrer"}},[e._v("MetalANGLE"),r("OutboundLink")],1),e._v(" by @kakashidinho and ANGLE team: "),r("a",{attrs:{href:"https://github.com/kakashidinho/metalangle/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("BSD License 2.0"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/KhronosGroup/MoltenVK",target:"_blank",rel:"noopener noreferrer"}},[e._v("MoltenVK"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/KhronosGroup/MoltenVK/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/hbang/Alderis",target:"_blank",rel:"noopener noreferrer"}},[e._v("Alderis"),r("OutboundLink")],1),e._v(" (color picker for iOS < 14): "),r("a",{attrs:{href:"https://github.com/hbang/Alderis/blob/master/LICENSE.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/immago/DBNumberedSlider",target:"_blank",rel:"noopener noreferrer"}},[e._v("DBNumberedSlider"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/immago/DBNumberedSlider/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/facebook/fishhook",target:"_blank",rel:"noopener noreferrer"}},[e._v("fishhook"),r("OutboundLink")],1),e._v(" (jailed environment usage only): "),r("a",{attrs:{href:"https://github.com/facebook/fishhook/blob/main/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("BSD-3 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/java-native-access/jna",target:"_blank",rel:"noopener noreferrer"}},[e._v("Java Native Access"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/java-native-access/jna/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/google/shaderc",target:"_blank",rel:"noopener noreferrer"}},[e._v("shaderc"),r("OutboundLink")],1),e._v(" (used by mods that uses Vulkan for rendering): "),r("a",{attrs:{href:"https://github.com/google/shaderc/blob/main/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/TimOliver/TOInsetGroupedTableView",target:"_blank",rel:"noopener noreferrer"}},[e._v("TOInsetGroupedTableView"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/TimOliver/TOInsetGroupedTableView/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v(".")])]),e._v(" "),r("h2",{attrs:{id:"special-thanks-to-these-guys"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#special-thanks-to-these-guys"}},[e._v("#")]),e._v(" Special thanks to these guys")]),e._v(" "),r("ul",[r("li",[e._v("Thanks to "),r("a",{attrs:{href:"https://mc-heads.net",target:"_blank",rel:"noopener noreferrer"}},[e._v("MCHeads"),r("OutboundLink")],1),e._v(" for providing Minecraft avatars.")]),e._v(" "),r("li",[e._v("Thanks to "),r("a",{attrs:{href:"https://github.com/Diatrus",target:"_blank",rel:"noopener noreferrer"}},[e._v("@Diatrus"),r("OutboundLink")],1),e._v(" for helping make this a reality in the beginning.")]),e._v(" "),r("li",[e._v("Thanks to "),r("a",{attrs:{href:"https://macstadium.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("MacStadium"),r("OutboundLink")],1),e._v(" for providing the hardware needed to help PojavLauncher iOS go further.")])]),e._v(" "),r("p",[r("img",{attrs:{src:"https://user-images.githubusercontent.com/55281754/183129754-c3736bb9-d528-4af7-9351-a12b3be7549e.png",alt:""}})])])}),[],!1,null,null,null);r.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{332:function(e,r,t){"use strict";t.r(r);var a=t(8),n=Object(a.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"pojavlauncher"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher"}},[e._v("#")]),e._v(" PojavLauncher")]),e._v(" "),r("h3",{attrs:{id:"from-the-ashes-of-zhouwei-s-boardwalk-project-comes-pojavlauncher-a-capable-fast-and-open-source-minecraft-java-edition-launcher-for-android-and-ios"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#from-the-ashes-of-zhouwei-s-boardwalk-project-comes-pojavlauncher-a-capable-fast-and-open-source-minecraft-java-edition-launcher-for-android-and-ios"}},[e._v("#")]),e._v(" From the ashes of zhouwei's Boardwalk project comes PojavLauncher, a capable, fast, and open-source Minecraft: Java Edition launcher for Android and iOS.")]),e._v(" "),r("p",[e._v("PojavLauncher is based off of "),r("strong",[e._v("zhouwei's Boardwalk")]),e._v(" project, which brought Minecraft 1.13 to Android. Improved upon and revived by the team, PojavLauncher brings Boardwalk to new heights with more versions, more devices, and even iOS support.")]),e._v(" "),r("p",[e._v("Right now, you're looking at the PojavLauncher website, with information regarding the launcher and various guides on how to navigate, operate, and get to playing. Take a look around, there's more in store!")]),e._v(" "),r("h2",{attrs:{id:"credits"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#credits"}},[e._v("#")]),e._v(" Credits")]),e._v(" "),r("p",[e._v("PojavLauncher didn't just appear out of thin air, but was made possible by the following people!")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://twitter.com/PLaunchTeam",target:"_blank",rel:"noopener noreferrer"}},[e._v("@PojavLauncherTeam"),r("OutboundLink")],1),e._v(", which includes")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/khanhduytran0",target:"_blank",rel:"noopener noreferrer"}},[e._v("@DuyKhanhTran"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/artdeell",target:"_blank",rel:"noopener noreferrer"}},[e._v("@artdeell"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/Mathias-Boulay",target:"_blank",rel:"noopener noreferrer"}},[e._v("@Mathias Bouley"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/crystall1nedev",target:"_blank",rel:"noopener noreferrer"}},[e._v("@crystall1nedev"),r("OutboundLink")],1)])]),e._v(" "),r("p",[e._v("...and many more contributors to the "),r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher/graphs/contributors",target:"_blank",rel:"noopener noreferrer"}},[e._v("Android"),r("OutboundLink")],1),e._v(" and "),r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/graphs/contributors",target:"_blank",rel:"noopener noreferrer"}},[e._v("iOS"),r("OutboundLink")],1),e._v(" repositories.")]),e._v(" "),r("p",[e._v("PojavLauncher also uses the following third-party components:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/zhuowei/Boardwalk",target:"_blank",rel:"noopener noreferrer"}},[e._v("Boardwalk"),r("OutboundLink")],1),e._v(" (JVM Launcher): Unknown License/"),r("a",{attrs:{href:"https://github.com/zhuowei/Boardwalk/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache License 2.0"),r("OutboundLink")],1),e._v(" or GNU GPLv2.")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/caciocavallo",target:"_blank",rel:"noopener noreferrer"}},[e._v("Caciocavallo"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/caciocavallo/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("GNU GPLv2 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[e._v("Android Support Libraries: "),r("a",{attrs:{href:"https://android.googlesource.com/platform/prebuilts/maven_repo/android/+/master/NOTICE.txt",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache License 2.0"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/ptitSeb/gl4es",target:"_blank",rel:"noopener noreferrer"}},[e._v("GL4ES"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/ptitSeb/gl4es/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v("."),r("br")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/openjdk-multiarch-jdk8u",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenJDK"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://openjdk.java.net/legal/gplv2+ce.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("GNU GPLv2 License"),r("OutboundLink")],1),e._v(". On iOS, it was ported by "),r("a",{attrs:{href:"https://twitter.com/diatrus",target:"_blank",rel:"noopener noreferrer"}},[e._v("@Diatrus"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/lwjgl3",target:"_blank",rel:"noopener noreferrer"}},[e._v("LWJGL3"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/LWJGL/lwjgl3/blob/master/LICENSE.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("BSD-3 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/lwjglx",target:"_blank",rel:"noopener noreferrer"}},[e._v("LWJGLX"),r("OutboundLink")],1),e._v(" (LWJGL2 API compatibility layer for LWJGL3): unknown license."),r("br")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://gitlab.freedesktop.org/mesa/mesa",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mesa 3D Graphics Library"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://docs.mesa3d.org/license.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/pro-grade/pro-grade",target:"_blank",rel:"noopener noreferrer"}},[e._v("pro-grade"),r("OutboundLink")],1),e._v(" (Java sandboxing security manager): "),r("a",{attrs:{href:"https://github.com/pro-grade/pro-grade/blob/master/LICENSE.txt",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache License 2.0"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/iqiyi/xHook",target:"_blank",rel:"noopener noreferrer"}},[e._v("xHook"),r("OutboundLink")],1),e._v(" (Used for exit code trapping): "),r("a",{attrs:{href:"https://github.com/iqiyi/xHook/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT and BSD-style licenses"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/anholt/libepoxy",target:"_blank",rel:"noopener noreferrer"}},[e._v("libepoxy"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/anholt/libepoxy/blob/master/COPYING",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/virglrenderer",target:"_blank",rel:"noopener noreferrer"}},[e._v("virglrenderer"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://gitlab.freedesktop.org/virgl/virglrenderer/-/blob/master/COPYING",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://commons.apache.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache Commons"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"http://www.apache.org/licenses/LICENSE-2.0.txt",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache License 2.0"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://code.google.com/p/jsr-305",target:"_blank",rel:"noopener noreferrer"}},[e._v("jsr305"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"http://opensource.org/licenses/BSD-3-Clause",target:"_blank",rel:"noopener noreferrer"}},[e._v("3-Clause BSD License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/stleary/JSON-java",target:"_blank",rel:"noopener noreferrer"}},[e._v("org.json"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://www.json.org/license.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("The JSON License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/kakashidinho/metalangle",target:"_blank",rel:"noopener noreferrer"}},[e._v("MetalANGLE"),r("OutboundLink")],1),e._v(" by @kakashidinho and ANGLE team: "),r("a",{attrs:{href:"https://github.com/kakashidinho/metalangle/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("BSD License 2.0"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/KhronosGroup/MoltenVK",target:"_blank",rel:"noopener noreferrer"}},[e._v("MoltenVK"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/KhronosGroup/MoltenVK/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/hbang/Alderis",target:"_blank",rel:"noopener noreferrer"}},[e._v("Alderis"),r("OutboundLink")],1),e._v(" (color picker for iOS < 14): "),r("a",{attrs:{href:"https://github.com/hbang/Alderis/blob/master/LICENSE.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/immago/DBNumberedSlider",target:"_blank",rel:"noopener noreferrer"}},[e._v("DBNumberedSlider"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/immago/DBNumberedSlider/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/facebook/fishhook",target:"_blank",rel:"noopener noreferrer"}},[e._v("fishhook"),r("OutboundLink")],1),e._v(" (jailed environment usage only): "),r("a",{attrs:{href:"https://github.com/facebook/fishhook/blob/main/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("BSD-3 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/java-native-access/jna",target:"_blank",rel:"noopener noreferrer"}},[e._v("Java Native Access"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/java-native-access/jna/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/google/shaderc",target:"_blank",rel:"noopener noreferrer"}},[e._v("shaderc"),r("OutboundLink")],1),e._v(" (used by mods that uses Vulkan for rendering): "),r("a",{attrs:{href:"https://github.com/google/shaderc/blob/main/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache 2.0 License"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/TimOliver/TOInsetGroupedTableView",target:"_blank",rel:"noopener noreferrer"}},[e._v("TOInsetGroupedTableView"),r("OutboundLink")],1),e._v(": "),r("a",{attrs:{href:"https://github.com/TimOliver/TOInsetGroupedTableView/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIT License"),r("OutboundLink")],1),e._v(".")])]),e._v(" "),r("h2",{attrs:{id:"special-thanks-to-these-guys"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#special-thanks-to-these-guys"}},[e._v("#")]),e._v(" Special thanks to these guys")]),e._v(" "),r("ul",[r("li",[e._v("Thanks to "),r("a",{attrs:{href:"https://mc-heads.net",target:"_blank",rel:"noopener noreferrer"}},[e._v("MCHeads"),r("OutboundLink")],1),e._v(" for providing Minecraft avatars.")]),e._v(" "),r("li",[e._v("Thanks to "),r("a",{attrs:{href:"https://github.com/Diatrus",target:"_blank",rel:"noopener noreferrer"}},[e._v("@Diatrus"),r("OutboundLink")],1),e._v(" for helping make this a reality in the beginning.")]),e._v(" "),r("li",[e._v("Thanks to "),r("a",{attrs:{href:"https://macstadium.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("MacStadium"),r("OutboundLink")],1),e._v(" for providing the hardware needed to help PojavLauncher iOS go further.")])]),e._v(" "),r("p",[r("img",{attrs:{src:"https://user-images.githubusercontent.com/55281754/183129754-c3736bb9-d528-4af7-9351-a12b3be7549e.png",alt:""}})])])}),[],!1,null,null,null);r.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/15.2a96030a.js b/assets/js/31.9c0439af.js similarity index 98% rename from assets/js/15.2a96030a.js rename to assets/js/31.9c0439af.js index c138b897..3938efcc 100644 --- a/assets/js/15.2a96030a.js +++ b/assets/js/31.9c0439af.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{309:function(t,a,e){"use strict";e.r(a);var r=e(7),s=Object(r.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"building-from-source"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#building-from-source"}},[t._v("#")]),t._v(" Building from source")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("Even though it is well-explained, building from source requires skill, internet and time.")])]),t._v(" "),a("li",[a("p",[t._v("You can try building on Android with "),a("a",{attrs:{href:"https://termux.dev",target:"_blank",rel:"noopener noreferrer"}},[t._v("Termux"),a("OutboundLink")],1),t._v(", but no support will be included for it.")])]),t._v(" "),a("li",[a("p",[t._v("It is recommended to clone the PojavLauncher repository before starting "),a("RouterLink",{attrs:{to:"/BUILD_FROM_SOURCE.html#setting-up-jre"}},[t._v("Setting Up JRE")])],1)]),t._v(" "),a("li",[a("p",[a("code",[t._v("git clone https://github.com/PojavLauncherTeam/PojavLauncher")])])])]),t._v(" "),a("h2",{attrs:{id:"setting-up-jre"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setting-up-jre"}},[t._v("#")]),t._v(" Setting up JRE")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("You can download it from "),a("a",{attrs:{href:"https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/actions",target:"_blank",rel:"noopener noreferrer"}},[t._v("CI Auto Builds"),a("OutboundLink")],1),t._v(" if you don't want to/can't build.")])]),t._v(" "),a("li",[a("p",[t._v("Source: "),a("a",{attrs:{href:"https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch",target:"_blank",rel:"noopener noreferrer"}},[t._v("PojavLauncherTeam/android-openjdk-build-multiarch"),a("OutboundLink")],1)])])]),t._v(" "),a("h3",{attrs:{id:"android"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[t._v("#")]),t._v(" Android")]),t._v(" "),a("ul",[a("li",[t._v("Clone the git repository of PojavLauncherTeam/android-openjdk-build-multiarch")])]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("git clone https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch\n")])])]),a("ul",[a("li",[t._v("Change the directory to the cloned repository")])]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("cd android-openjdk-build-multiarch\n")])])]),a("ul",[a("li",[t._v("Download Android NDK r10e from "),a("a",{attrs:{href:"https://github.com/android/ndk/wiki/Unsupported-Downloads#r10e",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),a("OutboundLink")],1),t._v(" and place it in this directory with a file explorer. (Can't automatically download because of EULA)")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("Do not attempt to build using a newer or older NDK, it will lead to compilation errors.")])]),t._v(" "),a("h3",{attrs:{id:"ios"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[t._v("#")]),t._v(" iOS")]),t._v(" "),a("ul",[a("li",[t._v("Get the latest "),a("a",{attrs:{href:"https://developer.apple.com/xcode/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Xcode"),a("OutboundLink")],1),t._v(" (tested with Xcode 12).")])]),t._v(" "),a("h4",{attrs:{id:"platform-and-architecture-specific-environment-variables"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#platform-and-architecture-specific-environment-variables"}},[t._v("#")]),t._v(" Platform and architecture specific environment variables")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Platform")]),t._v(" "),a("th",[t._v("Architecture")]),t._v(" "),a("th",[t._v("Target")]),t._v(" "),a("th",[t._v("Target_JDK")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("Android")]),t._v(" "),a("td",[t._v("armv8/aarch64")]),t._v(" "),a("td",[t._v("aarch64-linux-android")]),t._v(" "),a("td",[t._v("aarch64")])]),t._v(" "),a("tr",[a("td",[t._v("Android")]),t._v(" "),a("td",[t._v("armv7/aarch32")]),t._v(" "),a("td",[t._v("arm-linux-androideabi")]),t._v(" "),a("td",[t._v("arm")])]),t._v(" "),a("tr",[a("td",[t._v("Android")]),t._v(" "),a("td",[t._v("x86/i686")]),t._v(" "),a("td",[t._v("i686-linux-android")]),t._v(" "),a("td",[t._v("x86")])]),t._v(" "),a("tr",[a("td",[t._v("Android")]),t._v(" "),a("td",[t._v("x86_64/amd64")]),t._v(" "),a("td",[t._v("x86_64-linux-android")]),t._v(" "),a("td",[t._v("x86_64")])]),t._v(" "),a("tr",[a("td",[t._v("iOS/iPadOS")]),t._v(" "),a("td",[t._v("armv8/aarch64")]),t._v(" "),a("td",[t._v("aarch64-macos-ios")]),t._v(" "),a("td",[t._v("aarch64")])])])]),t._v(" "),a("h4",{attrs:{id:"building-jre-java-runtime-environment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#building-jre-java-runtime-environment"}},[t._v("#")]),t._v(" Building JRE (Java Runtime Environment)")]),t._v(" "),a("CodeSwitcher",{attrs:{languages:{android:"Android",ios:"iOS"}},scopedSlots:t._u([{key:"android",fn:function(){return[a("div",{staticClass:"language-android extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("export BUILD_IOS=0\n")])])])]},proxy:!0},{key:"ios",fn:function(){return[a("div",{staticClass:"language-ios extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("export BUILD_IOS=1\n")])])])]},proxy:!0}])}),t._v(" "),a("p",[a("code",[t._v("export BUILD_FREETYPE_VERSION=[2.10.4]")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("You can use versions "),a("strong",[t._v("between 2.6.2 and 2.10.4")]),t._v(" but "),a("strong",[t._v("2.10.4")]),t._v(" is preferred.")])]),t._v(" "),a("p",[a("code",[t._v("export JDK_DEBUG_LEVEL=[release]")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("You can use "),a("strong",[t._v("release")]),t._v(", "),a("strong",[t._v("fastdebug")]),t._v(" and "),a("strong",[t._v("debug")]),t._v(", but "),a("strong",[t._v("release")]),t._v(" is preferred")])]),t._v(" "),a("p",[a("code",[t._v("export JVM_VARIANTS=[client]")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("You can use "),a("strong",[t._v("client")]),t._v(" and "),a("strong",[t._v("server")]),t._v(" variants, "),a("strong",[t._v("Client")]),t._v(" is for "),a("strong",[t._v("aarch32")]),t._v(" and "),a("strong",[t._v("server")]),t._v(" is for "),a("strong",[t._v("other architectures")])])]),t._v(" "),a("p",[t._v("(Android only)")]),t._v(" "),a("p",[a("code",[t._v("./extractndk.sh")])]),t._v(" "),a("p",[a("code",[t._v("./maketoolchain.sh")])]),t._v(" "),a("h5",{attrs:{id:"get-cups-freetype-and-build-freetype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#get-cups-freetype-and-build-freetype"}},[t._v("#")]),t._v(" Get CUPS, Freetype and build Freetype")]),t._v(" "),a("p",[a("code",[t._v("./getlibs.sh")])]),t._v(" "),a("p",[a("code",[t._v("./buildlibs.sh")])]),t._v(" "),a("h5",{attrs:{id:"clone-jdk-run-once"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clone-jdk-run-once"}},[t._v("#")]),t._v(" Clone JDK, run once")]),t._v(" "),a("p",[a("code",[t._v("./clonejdk.sh")])]),t._v(" "),a("h5",{attrs:{id:"configure-jdk-and-build"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure-jdk-and-build"}},[t._v("#")]),t._v(" Configure JDK and build")]),t._v(" "),a("p",[a("code",[t._v("./buildjdk.sh")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("If no configuration is changed, run "),a("code",[t._v("sh makejdkwithoutconfigure.sh")]),t._v(" instead")])]),t._v(" "),a("h5",{attrs:{id:"pack-the-built-jdk"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pack-the-built-jdk"}},[t._v("#")]),t._v(" Pack the built JDK")]),t._v(" "),a("p",[a("code",[t._v("./removejdkdebuginfo.sh")])]),t._v(" "),a("p",[a("code",[t._v("./tarjdk.sh")])]),t._v(" "),a("h2",{attrs:{id:"lwjgl"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lwjgl"}},[t._v("#")]),t._v(" LWJGL")]),t._v(" "),a("ul",[a("li",[t._v("Coming soon")])]),t._v(" "),a("h2",{attrs:{id:"building-the-launcher"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#building-the-launcher"}},[t._v("#")]),t._v(" Building the Launcher")]),t._v(" "),a("h3",{attrs:{id:"updating-translations"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updating-translations"}},[t._v("#")]),t._v(" Updating translations")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("Updating translations is easier thanks to language list updater scripts")])]),t._v(" "),a("li",[a("p",[t._v("Just run this command and it'll be automatically updated from Crowdin.")])])]),t._v(" "),a("CodeSwitcher",{attrs:{languages:{win:"Windows",linuxmac:"Linux/MacOS"}},scopedSlots:t._u([{key:"win",fn:function(){return[a("div",{staticClass:"language-win extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("scripts\\languagelist_updater.bat\n")])])])]},proxy:!0},{key:"linuxmac",fn:function(){return[a("div",{staticClass:"language-linuxmac extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("chmod +x scripts/languagelist_updater.sh\nbash scripts/languagelist_updater.sh\n")])])])]},proxy:!0}])}),t._v(" "),a("h3",{attrs:{id:"build-glfw-stub"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#build-glfw-stub"}},[t._v("#")]),t._v(" Build GLFW Stub")]),t._v(" "),a("CodeSwitcher",{attrs:{languages:{win:"Windows",linuxmac:"Linux/MacOS"}},scopedSlots:t._u([{key:"win",fn:function(){return[a("div",{staticClass:"language-win extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("./gradlew :jre_lwjgl3glfw:build\n")])])])]},proxy:!0},{key:"linuxmac",fn:function(){return[a("div",{staticClass:"language-linuxmac extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("gradle :jre_lwjgl3glfw:build\n")])])])]},proxy:!0}])}),t._v(" "),a("h3",{attrs:{id:"build-the-launcher"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#build-the-launcher"}},[t._v("#")]),t._v(" Build the Launcher")]),t._v(" "),a("CodeSwitcher",{attrs:{languages:{win:"Windows",linuxmac:"Linux/MacOS"}},scopedSlots:t._u([{key:"win",fn:function(){return[a("div",{staticClass:"language-win extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("./gradlew.bat :app_pojavlauncher:assembleDebug\n")])])])]},proxy:!0},{key:"linuxmac",fn:function(){return[a("div",{staticClass:"language-linuxmac extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("./gradlew :app_pojavlauncher:assembleDebug\n")])])])]},proxy:!0}])})],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{334:function(t,a,e){"use strict";e.r(a);var r=e(8),s=Object(r.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"building-from-source"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#building-from-source"}},[t._v("#")]),t._v(" Building from source")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("Even though it is well-explained, building from source requires skill, internet and time.")])]),t._v(" "),a("li",[a("p",[t._v("You can try building on Android with "),a("a",{attrs:{href:"https://termux.dev",target:"_blank",rel:"noopener noreferrer"}},[t._v("Termux"),a("OutboundLink")],1),t._v(", but no support will be included for it.")])]),t._v(" "),a("li",[a("p",[t._v("It is recommended to clone the PojavLauncher repository before starting "),a("RouterLink",{attrs:{to:"/BUILD_FROM_SOURCE.html#setting-up-jre"}},[t._v("Setting Up JRE")])],1)]),t._v(" "),a("li",[a("p",[a("code",[t._v("git clone https://github.com/PojavLauncherTeam/PojavLauncher")])])])]),t._v(" "),a("h2",{attrs:{id:"setting-up-jre"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#setting-up-jre"}},[t._v("#")]),t._v(" Setting up JRE")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("You can download it from "),a("a",{attrs:{href:"https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/actions",target:"_blank",rel:"noopener noreferrer"}},[t._v("CI Auto Builds"),a("OutboundLink")],1),t._v(" if you don't want to/can't build.")])]),t._v(" "),a("li",[a("p",[t._v("Source: "),a("a",{attrs:{href:"https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch",target:"_blank",rel:"noopener noreferrer"}},[t._v("PojavLauncherTeam/android-openjdk-build-multiarch"),a("OutboundLink")],1)])])]),t._v(" "),a("h3",{attrs:{id:"android"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[t._v("#")]),t._v(" Android")]),t._v(" "),a("ul",[a("li",[t._v("Clone the git repository of PojavLauncherTeam/android-openjdk-build-multiarch")])]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("git clone https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch\n")])])]),a("ul",[a("li",[t._v("Change the directory to the cloned repository")])]),t._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("cd android-openjdk-build-multiarch\n")])])]),a("ul",[a("li",[t._v("Download Android NDK r10e from "),a("a",{attrs:{href:"https://github.com/android/ndk/wiki/Unsupported-Downloads#r10e",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),a("OutboundLink")],1),t._v(" and place it in this directory with a file explorer. (Can't automatically download because of EULA)")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("Do not attempt to build using a newer or older NDK, it will lead to compilation errors.")])]),t._v(" "),a("h3",{attrs:{id:"ios"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[t._v("#")]),t._v(" iOS")]),t._v(" "),a("ul",[a("li",[t._v("Get the latest "),a("a",{attrs:{href:"https://developer.apple.com/xcode/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Xcode"),a("OutboundLink")],1),t._v(" (tested with Xcode 12).")])]),t._v(" "),a("h4",{attrs:{id:"platform-and-architecture-specific-environment-variables"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#platform-and-architecture-specific-environment-variables"}},[t._v("#")]),t._v(" Platform and architecture specific environment variables")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Platform")]),t._v(" "),a("th",[t._v("Architecture")]),t._v(" "),a("th",[t._v("Target")]),t._v(" "),a("th",[t._v("Target_JDK")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("Android")]),t._v(" "),a("td",[t._v("armv8/aarch64")]),t._v(" "),a("td",[t._v("aarch64-linux-android")]),t._v(" "),a("td",[t._v("aarch64")])]),t._v(" "),a("tr",[a("td",[t._v("Android")]),t._v(" "),a("td",[t._v("armv7/aarch32")]),t._v(" "),a("td",[t._v("arm-linux-androideabi")]),t._v(" "),a("td",[t._v("arm")])]),t._v(" "),a("tr",[a("td",[t._v("Android")]),t._v(" "),a("td",[t._v("x86/i686")]),t._v(" "),a("td",[t._v("i686-linux-android")]),t._v(" "),a("td",[t._v("x86")])]),t._v(" "),a("tr",[a("td",[t._v("Android")]),t._v(" "),a("td",[t._v("x86_64/amd64")]),t._v(" "),a("td",[t._v("x86_64-linux-android")]),t._v(" "),a("td",[t._v("x86_64")])]),t._v(" "),a("tr",[a("td",[t._v("iOS/iPadOS")]),t._v(" "),a("td",[t._v("armv8/aarch64")]),t._v(" "),a("td",[t._v("aarch64-macos-ios")]),t._v(" "),a("td",[t._v("aarch64")])])])]),t._v(" "),a("h4",{attrs:{id:"building-jre-java-runtime-environment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#building-jre-java-runtime-environment"}},[t._v("#")]),t._v(" Building JRE (Java Runtime Environment)")]),t._v(" "),a("CodeSwitcher",{attrs:{languages:{android:"Android",ios:"iOS"}},scopedSlots:t._u([{key:"android",fn:function(){return[a("div",{staticClass:"language-android extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("export BUILD_IOS=0\n")])])])]},proxy:!0},{key:"ios",fn:function(){return[a("div",{staticClass:"language-ios extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("export BUILD_IOS=1\n")])])])]},proxy:!0}])}),t._v(" "),a("p",[a("code",[t._v("export BUILD_FREETYPE_VERSION=[2.10.4]")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("You can use versions "),a("strong",[t._v("between 2.6.2 and 2.10.4")]),t._v(" but "),a("strong",[t._v("2.10.4")]),t._v(" is preferred.")])]),t._v(" "),a("p",[a("code",[t._v("export JDK_DEBUG_LEVEL=[release]")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("You can use "),a("strong",[t._v("release")]),t._v(", "),a("strong",[t._v("fastdebug")]),t._v(" and "),a("strong",[t._v("debug")]),t._v(", but "),a("strong",[t._v("release")]),t._v(" is preferred")])]),t._v(" "),a("p",[a("code",[t._v("export JVM_VARIANTS=[client]")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("You can use "),a("strong",[t._v("client")]),t._v(" and "),a("strong",[t._v("server")]),t._v(" variants, "),a("strong",[t._v("Client")]),t._v(" is for "),a("strong",[t._v("aarch32")]),t._v(" and "),a("strong",[t._v("server")]),t._v(" is for "),a("strong",[t._v("other architectures")])])]),t._v(" "),a("p",[t._v("(Android only)")]),t._v(" "),a("p",[a("code",[t._v("./extractndk.sh")])]),t._v(" "),a("p",[a("code",[t._v("./maketoolchain.sh")])]),t._v(" "),a("h5",{attrs:{id:"get-cups-freetype-and-build-freetype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#get-cups-freetype-and-build-freetype"}},[t._v("#")]),t._v(" Get CUPS, Freetype and build Freetype")]),t._v(" "),a("p",[a("code",[t._v("./getlibs.sh")])]),t._v(" "),a("p",[a("code",[t._v("./buildlibs.sh")])]),t._v(" "),a("h5",{attrs:{id:"clone-jdk-run-once"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#clone-jdk-run-once"}},[t._v("#")]),t._v(" Clone JDK, run once")]),t._v(" "),a("p",[a("code",[t._v("./clonejdk.sh")])]),t._v(" "),a("h5",{attrs:{id:"configure-jdk-and-build"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configure-jdk-and-build"}},[t._v("#")]),t._v(" Configure JDK and build")]),t._v(" "),a("p",[a("code",[t._v("./buildjdk.sh")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("If no configuration is changed, run "),a("code",[t._v("sh makejdkwithoutconfigure.sh")]),t._v(" instead")])]),t._v(" "),a("h5",{attrs:{id:"pack-the-built-jdk"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#pack-the-built-jdk"}},[t._v("#")]),t._v(" Pack the built JDK")]),t._v(" "),a("p",[a("code",[t._v("./removejdkdebuginfo.sh")])]),t._v(" "),a("p",[a("code",[t._v("./tarjdk.sh")])]),t._v(" "),a("h2",{attrs:{id:"lwjgl"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lwjgl"}},[t._v("#")]),t._v(" LWJGL")]),t._v(" "),a("ul",[a("li",[t._v("Coming soon")])]),t._v(" "),a("h2",{attrs:{id:"building-the-launcher"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#building-the-launcher"}},[t._v("#")]),t._v(" Building the Launcher")]),t._v(" "),a("h3",{attrs:{id:"updating-translations"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#updating-translations"}},[t._v("#")]),t._v(" Updating translations")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("Updating translations is easier thanks to language list updater scripts")])]),t._v(" "),a("li",[a("p",[t._v("Just run this command and it'll be automatically updated from Crowdin.")])])]),t._v(" "),a("CodeSwitcher",{attrs:{languages:{win:"Windows",linuxmac:"Linux/MacOS"}},scopedSlots:t._u([{key:"win",fn:function(){return[a("div",{staticClass:"language-win extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("scripts\\languagelist_updater.bat\n")])])])]},proxy:!0},{key:"linuxmac",fn:function(){return[a("div",{staticClass:"language-linuxmac extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("chmod +x scripts/languagelist_updater.sh\nbash scripts/languagelist_updater.sh\n")])])])]},proxy:!0}])}),t._v(" "),a("h3",{attrs:{id:"build-glfw-stub"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#build-glfw-stub"}},[t._v("#")]),t._v(" Build GLFW Stub")]),t._v(" "),a("CodeSwitcher",{attrs:{languages:{win:"Windows",linuxmac:"Linux/MacOS"}},scopedSlots:t._u([{key:"win",fn:function(){return[a("div",{staticClass:"language-win extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("./gradlew :jre_lwjgl3glfw:build\n")])])])]},proxy:!0},{key:"linuxmac",fn:function(){return[a("div",{staticClass:"language-linuxmac extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("gradle :jre_lwjgl3glfw:build\n")])])])]},proxy:!0}])}),t._v(" "),a("h3",{attrs:{id:"build-the-launcher"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#build-the-launcher"}},[t._v("#")]),t._v(" Build the Launcher")]),t._v(" "),a("CodeSwitcher",{attrs:{languages:{win:"Windows",linuxmac:"Linux/MacOS"}},scopedSlots:t._u([{key:"win",fn:function(){return[a("div",{staticClass:"language-win extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("./gradlew.bat :app_pojavlauncher:assembleDebug\n")])])])]},proxy:!0},{key:"linuxmac",fn:function(){return[a("div",{staticClass:"language-linuxmac extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v("./gradlew :app_pojavlauncher:assembleDebug\n")])])])]},proxy:!0}])})],1)}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/16.bfca10ac.js b/assets/js/32.e7560591.js similarity index 74% rename from assets/js/16.bfca10ac.js rename to assets/js/32.e7560591.js index 7368950f..242b75d6 100644 --- a/assets/js/16.bfca10ac.js +++ b/assets/js/32.e7560591.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{310:function(t,n,s){"use strict";s.r(n);var i=s(7),o=Object(i.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"contributing-to-pojavlauncher-itself"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-pojavlauncher-itself"}},[this._v("#")]),this._v(" Contributing to PojavLauncher itself")])])}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{333:function(t,n,s){"use strict";s.r(n);var i=s(8),o=Object(i.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"contributing-to-pojavlauncher-itself"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-pojavlauncher-itself"}},[this._v("#")]),this._v(" Contributing to PojavLauncher itself")])])}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/17.eac693f8.js b/assets/js/33.09b39dbb.js similarity index 95% rename from assets/js/17.eac693f8.js rename to assets/js/33.09b39dbb.js index 4e53ea81..2babf3cf 100644 --- a/assets/js/17.eac693f8.js +++ b/assets/js/33.09b39dbb.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{311:function(t,e,a){"use strict";a.r(e);var o=a(7),r=Object(o.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"contributing-to-the-translation-of-pojavlauncher"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-the-translation-of-pojavlauncher"}},[t._v("#")]),t._v(" Contributing to the translation of PojavLauncher")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("For the convenience of translators, we use "),e("a",{attrs:{href:"https://crowdin.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Crowdin"),e("OutboundLink")],1),t._v(".")])]),t._v(" "),e("li",[e("p",[t._v("Anyone can join the project on Crowdin and start translating right now.")])])]),t._v(" "),e("p",[e("a",{attrs:{href:"https://crwd.in/pojavlauncher",target:"_blank",rel:"noopener noreferrer"}},[t._v("Join the project"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"getting-started-for-newcomers-on-crowdin"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#getting-started-for-newcomers-on-crowdin"}},[t._v("#")]),t._v(" Getting started for newcomers on Crowdin")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("After you sign up on Crowdin and join the project, you can start translating the strings.")])]),t._v(" "),e("li",[e("p",[t._v("First, on the project page, you should select the language you want to translate PojavLauncher into.")])]),t._v(" "),e("li",[e("p",[t._v("Then, you will see the files to be translated. After the name of each file, you can see the translation progress of that file. The blue bar represents the progress of translated strings, and the green bar represents the progress of approved strings.")])]),t._v(" "),e("li",[e("p",[t._v('Now you can click on the "Translate all" button and you will be moved to the translation editor. But first, Crowdin will suggest you to read useful tips for using the translation editor.')])])]),t._v(" "),e("h2",{attrs:{id:"what-to-translate-and-what-not-to-translate"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#what-to-translate-and-what-not-to-translate"}},[t._v("#")]),t._v(" What to translate and what not to translate?")]),t._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),e("p",[t._v("Things not to translate: PojavLauncher, codes like "),e("code",[t._v("<1>, , \\n, %s, %.2f, %1$s, %@")]),t._v(", arrows like ◀,")])]),t._v(" "),e("ul",[e("li",[t._v("Except for the list above, you can translate anything else.")])]),t._v(" "),e("h2",{attrs:{id:"proofreading"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#proofreading"}},[t._v("#")]),t._v(" Proofreading")]),t._v(" "),e("ul",[e("li",[t._v("Proofreading of the strings is made by the language proofreader. Proofreaders are appointed by @Syjalo. Please don't ask him to approve the strings or appoint somebody as a proofreader. He will choose a suitable candidate in his opinion. Approved or most voted translation suggestions will be added to the launcher.")])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{339:function(t,e,a){"use strict";a.r(e);var o=a(8),r=Object(o.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"contributing-to-the-translation-of-pojavlauncher"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-the-translation-of-pojavlauncher"}},[t._v("#")]),t._v(" Contributing to the translation of PojavLauncher")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("For the convenience of translators, we use "),e("a",{attrs:{href:"https://crowdin.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Crowdin"),e("OutboundLink")],1),t._v(".")])]),t._v(" "),e("li",[e("p",[t._v("Anyone can join the project on Crowdin and start translating right now.")])])]),t._v(" "),e("p",[e("a",{attrs:{href:"https://crwd.in/pojavlauncher",target:"_blank",rel:"noopener noreferrer"}},[t._v("Join the project"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"getting-started-for-newcomers-on-crowdin"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#getting-started-for-newcomers-on-crowdin"}},[t._v("#")]),t._v(" Getting started for newcomers on Crowdin")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("After you sign up on Crowdin and join the project, you can start translating the strings.")])]),t._v(" "),e("li",[e("p",[t._v("First, on the project page, you should select the language you want to translate PojavLauncher into.")])]),t._v(" "),e("li",[e("p",[t._v("Then, you will see the files to be translated. After the name of each file, you can see the translation progress of that file. The blue bar represents the progress of translated strings, and the green bar represents the progress of approved strings.")])]),t._v(" "),e("li",[e("p",[t._v('Now you can click on the "Translate all" button and you will be moved to the translation editor. But first, Crowdin will suggest you to read useful tips for using the translation editor.')])])]),t._v(" "),e("h2",{attrs:{id:"what-to-translate-and-what-not-to-translate"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#what-to-translate-and-what-not-to-translate"}},[t._v("#")]),t._v(" What to translate and what not to translate?")]),t._v(" "),e("div",{staticClass:"custom-block warning"},[e("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),e("p",[t._v("Things not to translate: PojavLauncher, codes like "),e("code",[t._v("<1>, , \\n, %s, %.2f, %1$s, %@")]),t._v(", arrows like ◀,")])]),t._v(" "),e("ul",[e("li",[t._v("Except for the list above, you can translate anything else.")])]),t._v(" "),e("h2",{attrs:{id:"proofreading"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#proofreading"}},[t._v("#")]),t._v(" Proofreading")]),t._v(" "),e("ul",[e("li",[t._v("Proofreading of the strings is made by the language proofreader. Proofreaders are appointed by @Syjalo. Please don't ask him to approve the strings or appoint somebody as a proofreader. He will choose a suitable candidate in his opinion. Approved or most voted translation suggestions will be added to the launcher.")])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/18.aaf4b3d2.js b/assets/js/34.72e5ce28.js similarity index 96% rename from assets/js/18.aaf4b3d2.js rename to assets/js/34.72e5ce28.js index cced14f4..a913a333 100644 --- a/assets/js/18.aaf4b3d2.js +++ b/assets/js/34.72e5ce28.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{312:function(e,t,o){"use strict";o.r(t);var r=o(7),a=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"contributing-to-this-website"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-this-website"}},[e._v("#")]),e._v(" Contributing to this website")]),e._v(" "),t("p",[e._v("We're always happy to accept help from our beloved community, and this website is no different. However, we want to cover some ground rules before you get started.")]),e._v(" "),t("h2",{attrs:{id:"what-is-vuepress"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-is-vuepress"}},[e._v("#")]),e._v(" What is Vuepress?")]),e._v(" "),t("p",[e._v("Vuepress is a static website generator, although it looks really good. It takes three things: a config file, markdown (.md) documents, and resources for images and such, and then compiles them into HTML for browser-friendly access.")]),e._v(" "),t("h2",{attrs:{id:"how-do-i-contribute"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-do-i-contribute"}},[e._v("#")]),e._v(" How do I contribute?")]),e._v(" "),t("p",[e._v("Simple:")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Fork "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/pojavlauncherteam.github.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("this repository"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("li",[t("p",[e._v('Click on "Edit this page" on any page, then edit the markdown file with your properly tuned syntax (using Discord? You already know Markdown), then save and commit. It\'s that easy.')])]),e._v(" "),t("li",[t("p",[e._v("If you want to see your changes on your fork, you'll have to either")])])]),e._v(" "),t("p",[e._v("1- Rename the repo to "),t("code",[e._v(".github.io")])]),e._v(" "),t("ul",[t("li",[e._v("Set the Pages settings to build from the root of "),t("code",[e._v("gh-pages")])])]),e._v(" "),t("p",[e._v("2- (if you have node installed), run "),t("code",[e._v("npm install && npm run build && npm run start")]),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"what-to-do-and-what-not-to-do"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-to-do-and-what-not-to-do"}},[e._v("#")]),e._v(" What to do and what not to do?")]),e._v(" "),t("p",[e._v("You're allowed to pretty much change anything, as long as it follows all of these rules:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Do not")]),e._v(" make any promises unless you were given permission from the developers.")]),e._v(" "),t("li",[t("strong",[e._v("Do not")]),e._v(" spread misinformation and inaccurate content.")]),e._v(" "),t("li",[e._v("Although you can change everything else, "),t("strong",[e._v("do not touch .vuepress/config.js")]),e._v(". If you need to change something in it, let Crystall1nedev or CriticalRange know.")]),e._v(" "),t("li",[e._v("Never, never ever ever merge "),t("code",[e._v("gh-pages")]),e._v(" and "),t("code",[e._v("main")]),e._v(" into each other. gh-pages is the "),t("strong",[e._v("result")]),e._v(", main is the "),t("strong",[e._v("rough draft")]),e._v(".")]),e._v(" "),t("li",[t("strong",[e._v("Do not")]),e._v(" delete any dot files (.nvmrc, .gitattributes, etc)")])]),e._v(" "),t("p",[e._v("With all of these in mind, you're free to help us out with our website!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{335:function(e,t,o){"use strict";o.r(t);var r=o(8),a=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"contributing-to-this-website"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-this-website"}},[e._v("#")]),e._v(" Contributing to this website")]),e._v(" "),t("p",[e._v("We're always happy to accept help from our beloved community, and this website is no different. However, we want to cover some ground rules before you get started.")]),e._v(" "),t("h2",{attrs:{id:"what-is-vuepress"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-is-vuepress"}},[e._v("#")]),e._v(" What is Vuepress?")]),e._v(" "),t("p",[e._v("Vuepress is a static website generator, although it looks really good. It takes three things: a config file, markdown (.md) documents, and resources for images and such, and then compiles them into HTML for browser-friendly access.")]),e._v(" "),t("h2",{attrs:{id:"how-do-i-contribute"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-do-i-contribute"}},[e._v("#")]),e._v(" How do I contribute?")]),e._v(" "),t("p",[e._v("Simple:")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Fork "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/pojavlauncherteam.github.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("this repository"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("li",[t("p",[e._v('Click on "Edit this page" on any page, then edit the markdown file with your properly tuned syntax (using Discord? You already know Markdown), then save and commit. It\'s that easy.')])]),e._v(" "),t("li",[t("p",[e._v("If you want to see your changes on your fork, you'll have to either")])])]),e._v(" "),t("p",[e._v("1- Rename the repo to "),t("code",[e._v(".github.io")])]),e._v(" "),t("ul",[t("li",[e._v("Set the Pages settings to build from the root of "),t("code",[e._v("gh-pages")])])]),e._v(" "),t("p",[e._v("2- (if you have node installed), run "),t("code",[e._v("npm install && npm run build && npm run start")]),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"what-to-do-and-what-not-to-do"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-to-do-and-what-not-to-do"}},[e._v("#")]),e._v(" What to do and what not to do?")]),e._v(" "),t("p",[e._v("You're allowed to pretty much change anything, as long as it follows all of these rules:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Do not")]),e._v(" make any promises unless you were given permission from the developers.")]),e._v(" "),t("li",[t("strong",[e._v("Do not")]),e._v(" spread misinformation and inaccurate content.")]),e._v(" "),t("li",[e._v("Although you can change everything else, "),t("strong",[e._v("do not touch .vuepress/config.js")]),e._v(". If you need to change something in it, let Crystall1nedev or CriticalRange know.")]),e._v(" "),t("li",[e._v("Never, never ever ever merge "),t("code",[e._v("gh-pages")]),e._v(" and "),t("code",[e._v("main")]),e._v(" into each other. gh-pages is the "),t("strong",[e._v("result")]),e._v(", main is the "),t("strong",[e._v("rough draft")]),e._v(".")]),e._v(" "),t("li",[t("strong",[e._v("Do not")]),e._v(" delete any dot files (.nvmrc, .gitattributes, etc)")])]),e._v(" "),t("p",[e._v("With all of these in mind, you're free to help us out with our website!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/19.8ceca810.js b/assets/js/35.d2eb66b0.js similarity index 74% rename from assets/js/19.8ceca810.js rename to assets/js/35.d2eb66b0.js index 16110ae5..0161aa5e 100644 --- a/assets/js/19.8ceca810.js +++ b/assets/js/35.d2eb66b0.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{313:function(t,s,n){"use strict";n.r(s);var o=n(7),e=Object(o.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"customizing-the-on-screen-controls"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#customizing-the-on-screen-controls"}},[this._v("#")]),this._v(" Customizing the on-screen controls")])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{336:function(t,s,n){"use strict";n.r(s);var o=n(8),e=Object(o.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"customizing-the-on-screen-controls"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#customizing-the-on-screen-controls"}},[this._v("#")]),this._v(" Customizing the on-screen controls")])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/20.8be6c834.js b/assets/js/36.6e902da2.js similarity index 95% rename from assets/js/20.8be6c834.js rename to assets/js/36.6e902da2.js index 635a4d20..a71ee0f2 100644 --- a/assets/js/20.8be6c834.js +++ b/assets/js/36.6e902da2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{314:function(t,o,e){"use strict";e.r(o);var r=e(7),s=Object(r.a)({},(function(){var t=this,o=t._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"installing-custom-versions-of-minecraft"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#installing-custom-versions-of-minecraft"}},[t._v("#")]),t._v(" Installing custom versions of Minecraft")]),t._v(" "),o("p",[t._v("If you want an old mod or modpack to run (Minecraft 1.2.4 and older), this is for you. Warning, not for newcomers!")]),t._v(" "),o("h3",{attrs:{id:"installation"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[t._v("#")]),t._v(" Installation:")]),t._v(" "),o("ol",[o("li",[t._v("If you are on Android, install "),o("a",{attrs:{href:"https://forum.xda-developers.com/showpost.php?p=23109280&postcount=2",target:"_blank",rel:"noopener noreferrer"}},[o("strong",[t._v("MiXplorer")]),o("OutboundLink")],1),t._v(" and "),o("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.mixplorer.addon.archive",target:"_blank",rel:"noopener noreferrer"}},[o("strong",[t._v("MiX Archive")]),o("OutboundLink")],1)]),t._v(" "),o("li",[t._v("Make a copy of the Minecraft version you want to modify")]),t._v(" "),o("li",[t._v("Rename the custom version "),o("strong",[t._v("folder")]),t._v(", "),o("strong",[t._v(".jar")]),t._v(" and "),o("strong",[t._v(".json")]),t._v(" to your desired custom version name (for example, "),o("strong",[t._v("foo")]),t._v(", "),o("strong",[t._v("foo.jar")]),t._v(", "),o("strong",[t._v("foo.json")]),t._v(")")]),t._v(" "),o("li",[t._v("Open the custom version's "),o("strong",[t._v(".json")]),t._v(" with MiX's "),o("strong",[t._v("Text Editor")])]),t._v(" "),o("li",[t._v("Remove "),o("code",[t._v('"downloads:{"client"...}')]),t._v(" as shown in the screenshot")])]),t._v(" "),o("p",[o("img",{attrs:{src:"https://user-images.githubusercontent.com/85581164/220926885-d25e911f-98c4-4989-af06-f1bd81acc7e2.jpg",alt:"custom2"}})]),t._v(" "),o("ol",{attrs:{start:"6"}},[o("li",[t._v("Change "),o("code",[t._v('"id": "1.2.4"')]),t._v(" to "),o("code",[t._v('"id": "(your custom version name)"')])]),t._v(" "),o("li",[t._v("Change "),o("code",[t._v('"mainClass": "net.minecraft.launchwrapper.Launch"')]),t._v(" to "),o("code",[t._v('"mainClass": "net.minecraft.client.Minecraft"')])]),t._v(" "),o("li",[t._v("Save the "),o("strong",[t._v(".json")])]),t._v(" "),o("li",[t._v("Modify your "),o("strong",[t._v(".jar")]),t._v(" as desired, make sure to delete the "),o("code",[t._v("META-INF")]),t._v(" folder afterwards.")]),t._v(" "),o("li",[t._v("Start up your custom version!")])]),t._v(" "),o("h3",{attrs:{id:"notes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#notes"}},[t._v("#")]),t._v(" Notes:")]),t._v(" "),o("ul",[o("li",[t._v("If your game is stuck at the Mojang screen afterwards, try deleting "),o("strong",[t._v("options.txt")])]),t._v(" "),o("li",[t._v("This guide is "),o("strong",[t._v("NOT")]),t._v(" for Babric or Cursed Fabric!")])])])}),[],!1,null,null,null);o.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{337:function(t,o,e){"use strict";e.r(o);var r=e(8),s=Object(r.a)({},(function(){var t=this,o=t._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"installing-custom-versions-of-minecraft"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#installing-custom-versions-of-minecraft"}},[t._v("#")]),t._v(" Installing custom versions of Minecraft")]),t._v(" "),o("p",[t._v("If you want an old mod or modpack to run (Minecraft 1.2.4 and older), this is for you. Warning, not for newcomers!")]),t._v(" "),o("h3",{attrs:{id:"installation"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[t._v("#")]),t._v(" Installation:")]),t._v(" "),o("ol",[o("li",[t._v("If you are on Android, install "),o("a",{attrs:{href:"https://forum.xda-developers.com/showpost.php?p=23109280&postcount=2",target:"_blank",rel:"noopener noreferrer"}},[o("strong",[t._v("MiXplorer")]),o("OutboundLink")],1),t._v(" and "),o("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.mixplorer.addon.archive",target:"_blank",rel:"noopener noreferrer"}},[o("strong",[t._v("MiX Archive")]),o("OutboundLink")],1)]),t._v(" "),o("li",[t._v("Make a copy of the Minecraft version you want to modify")]),t._v(" "),o("li",[t._v("Rename the custom version "),o("strong",[t._v("folder")]),t._v(", "),o("strong",[t._v(".jar")]),t._v(" and "),o("strong",[t._v(".json")]),t._v(" to your desired custom version name (for example, "),o("strong",[t._v("foo")]),t._v(", "),o("strong",[t._v("foo.jar")]),t._v(", "),o("strong",[t._v("foo.json")]),t._v(")")]),t._v(" "),o("li",[t._v("Open the custom version's "),o("strong",[t._v(".json")]),t._v(" with MiX's "),o("strong",[t._v("Text Editor")])]),t._v(" "),o("li",[t._v("Remove "),o("code",[t._v('"downloads:{"client"...}')]),t._v(" as shown in the screenshot")])]),t._v(" "),o("p",[o("img",{attrs:{src:"https://user-images.githubusercontent.com/85581164/220926885-d25e911f-98c4-4989-af06-f1bd81acc7e2.jpg",alt:"custom2"}})]),t._v(" "),o("ol",{attrs:{start:"6"}},[o("li",[t._v("Change "),o("code",[t._v('"id": "1.2.4"')]),t._v(" to "),o("code",[t._v('"id": "(your custom version name)"')])]),t._v(" "),o("li",[t._v("Change "),o("code",[t._v('"mainClass": "net.minecraft.launchwrapper.Launch"')]),t._v(" to "),o("code",[t._v('"mainClass": "net.minecraft.client.Minecraft"')])]),t._v(" "),o("li",[t._v("Save the "),o("strong",[t._v(".json")])]),t._v(" "),o("li",[t._v("Modify your "),o("strong",[t._v(".jar")]),t._v(" as desired, make sure to delete the "),o("code",[t._v("META-INF")]),t._v(" folder afterwards.")]),t._v(" "),o("li",[t._v("Start up your custom version!")])]),t._v(" "),o("h3",{attrs:{id:"notes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#notes"}},[t._v("#")]),t._v(" Notes:")]),t._v(" "),o("ul",[o("li",[t._v("If your game is stuck at the Mojang screen afterwards, try deleting "),o("strong",[t._v("options.txt")])]),t._v(" "),o("li",[t._v("This guide is "),o("strong",[t._v("NOT")]),t._v(" for Babric or Cursed Fabric!")])])])}),[],!1,null,null,null);o.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/21.d97df2f9.js b/assets/js/37.d3ee1f74.js similarity index 74% rename from assets/js/21.d97df2f9.js rename to assets/js/37.d3ee1f74.js index a55df101..1b194611 100644 --- a/assets/js/21.d97df2f9.js +++ b/assets/js/37.d3ee1f74.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{315:function(t,s,e){"use strict";e.r(s);var i=e(7),n=Object(i.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"debugging-issues-with-the-launcher"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#debugging-issues-with-the-launcher"}},[this._v("#")]),this._v(" Debugging issues with the launcher")])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{338:function(t,s,e){"use strict";e.r(s);var i=e(8),n=Object(i.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"debugging-issues-with-the-launcher"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#debugging-issues-with-the-launcher"}},[this._v("#")]),this._v(" Debugging issues with the launcher")])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/22.93755b4a.js b/assets/js/38.16ac72a4.js similarity index 73% rename from assets/js/22.93755b4a.js rename to assets/js/38.16ac72a4.js index ae94ebe5..3677c2f3 100644 --- a/assets/js/22.93755b4a.js +++ b/assets/js/38.16ac72a4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{316:function(t,o,a){"use strict";a.r(o);var s=a(7),n=Object(s.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"taking-a-look-at-the-controls"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#taking-a-look-at-the-controls"}},[this._v("#")]),this._v(" Taking a look at the controls")])])}),[],!1,null,null,null);o.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{342:function(t,o,a){"use strict";a.r(o);var s=a(8),n=Object(s.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"taking-a-look-at-the-controls"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#taking-a-look-at-the-controls"}},[this._v("#")]),this._v(" Taking a look at the controls")])])}),[],!1,null,null,null);o.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/23.7b4c5259.js b/assets/js/39.7db50209.js similarity index 89% rename from assets/js/23.7b4c5259.js rename to assets/js/39.7db50209.js index 2187cc04..c38134eb 100644 --- a/assets/js/23.7b4c5259.js +++ b/assets/js/39.7db50209.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{317:function(e,r,t){"use strict";t.r(r);var i=t(7),n=Object(i.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"device-requirements"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#device-requirements"}},[e._v("#")]),e._v(" Device requirements")]),e._v(" "),r("ul",[r("li",[r("strong",[e._v("Minimum")]),e._v(" means 30 or more average FPS on 1.7.10 with "),r("a",{attrs:{href:"https://optifine.net/downloads",target:"_blank",rel:"noopener noreferrer"}},[e._v("OptiFine"),r("OutboundLink")],1),e._v(" installed at lowest settings.")]),e._v(" "),r("li",[r("strong",[e._v("Recommended")]),e._v(" means 60 or more average FPS on 1.19.4 with "),r("a",{attrs:{href:"https://optifine.net/downloads",target:"_blank",rel:"noopener noreferrer"}},[e._v("OptiFine"),r("OutboundLink")],1),e._v(" installed at lowest settings.")])]),e._v(" "),r("h2",{attrs:{id:"android"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[e._v("#")]),e._v(" Android")]),e._v(" "),r("h3",{attrs:{id:"minimum-requirements"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#minimum-requirements"}},[e._v("#")]),e._v(" Minimum requirements:")]),e._v(" "),r("ul",[r("li",[e._v("Qualcomm Snapdragon 400 (or equivalent)")]),e._v(" "),r("li",[e._v("Android 5.0")]),e._v(" "),r("li",[e._v("1GB RAM")])]),e._v(" "),r("h3",{attrs:{id:"recommended-requirements"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#recommended-requirements"}},[e._v("#")]),e._v(" Recommended requirements:")]),e._v(" "),r("ul",[r("li",[e._v("Qualcomm Snapdragon 820 (or equivalent) with Vulkan API support")]),e._v(" "),r("li",[e._v("Android 8.0 and newer")]),e._v(" "),r("li",[e._v("4GB RAM")])]),e._v(" "),r("h3",{attrs:{id:"chromeos"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#chromeos"}},[e._v("#")]),e._v(" ChromeOS")]),e._v(" "),r("ul",[r("li",[e._v("Chromebooks have very similar system requirements, however Android version does not matter, as long as you can install Android apps.")])]),e._v(" "),r("h2",{attrs:{id:"ios"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[e._v("#")]),e._v(" iOS")]),e._v(" "),r("h3",{attrs:{id:"minimum-requirements-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#minimum-requirements-2"}},[e._v("#")]),e._v(" Minimum requirements:")]),e._v(" "),r("ul",[r("li",[e._v("Apple A8 SoC\n"),r("ul",[r("li",[e._v("The Apple A7 SoC is losing support in PojavLauncher 2.3.")])])]),e._v(" "),r("li",[e._v("iOS 12")]),e._v(" "),r("li",[e._v("1GB RAM")])]),e._v(" "),r("h3",{attrs:{id:"recommended-requirements-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#recommended-requirements-2"}},[e._v("#")]),e._v(" Recommended requirements:")]),e._v(" "),r("ul",[r("li",[e._v("Apple A10/A10X Fusion SoC")]),e._v(" "),r("li",[e._v("iOS 14")]),e._v(" "),r("li",[e._v("2GB RAM")])])])}),[],!1,null,null,null);r.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{340:function(e,r,t){"use strict";t.r(r);var i=t(8),n=Object(i.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"device-requirements"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#device-requirements"}},[e._v("#")]),e._v(" Device requirements")]),e._v(" "),r("ul",[r("li",[r("strong",[e._v("Minimum")]),e._v(" means 30 or more average FPS on 1.7.10 with "),r("a",{attrs:{href:"https://optifine.net/downloads",target:"_blank",rel:"noopener noreferrer"}},[e._v("OptiFine"),r("OutboundLink")],1),e._v(" installed at lowest settings.")]),e._v(" "),r("li",[r("strong",[e._v("Recommended")]),e._v(" means 60 or more average FPS on 1.19.4 with "),r("a",{attrs:{href:"https://optifine.net/downloads",target:"_blank",rel:"noopener noreferrer"}},[e._v("OptiFine"),r("OutboundLink")],1),e._v(" installed at lowest settings.")])]),e._v(" "),r("h2",{attrs:{id:"android"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[e._v("#")]),e._v(" Android")]),e._v(" "),r("h3",{attrs:{id:"minimum-requirements"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#minimum-requirements"}},[e._v("#")]),e._v(" Minimum requirements:")]),e._v(" "),r("ul",[r("li",[e._v("Qualcomm Snapdragon 400 (or equivalent)")]),e._v(" "),r("li",[e._v("Android 5.0")]),e._v(" "),r("li",[e._v("1GB RAM")])]),e._v(" "),r("h3",{attrs:{id:"recommended-requirements"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#recommended-requirements"}},[e._v("#")]),e._v(" Recommended requirements:")]),e._v(" "),r("ul",[r("li",[e._v("Qualcomm Snapdragon 820 (or equivalent) with Vulkan API support")]),e._v(" "),r("li",[e._v("Android 8.0 and newer")]),e._v(" "),r("li",[e._v("4GB RAM")])]),e._v(" "),r("h3",{attrs:{id:"chromeos"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#chromeos"}},[e._v("#")]),e._v(" ChromeOS")]),e._v(" "),r("ul",[r("li",[e._v("Chromebooks have very similar system requirements, however Android version does not matter, as long as you can install Android apps.")])]),e._v(" "),r("h2",{attrs:{id:"ios"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[e._v("#")]),e._v(" iOS")]),e._v(" "),r("h3",{attrs:{id:"minimum-requirements-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#minimum-requirements-2"}},[e._v("#")]),e._v(" Minimum requirements:")]),e._v(" "),r("ul",[r("li",[e._v("Apple A8 SoC\n"),r("ul",[r("li",[e._v("The Apple A7 SoC is losing support in PojavLauncher 2.3.")])])]),e._v(" "),r("li",[e._v("iOS 14")]),e._v(" "),r("li",[e._v("1GB RAM")])]),e._v(" "),r("h3",{attrs:{id:"recommended-requirements-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#recommended-requirements-2"}},[e._v("#")]),e._v(" Recommended requirements:")]),e._v(" "),r("ul",[r("li",[e._v("Apple A14/A12X Bionic SoC")]),e._v(" "),r("li",[e._v("iOS 14")]),e._v(" "),r("li",[e._v("4GB RAM")])])])}),[],!1,null,null,null);r.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/4.316e5f5f.js b/assets/js/4.316e5f5f.js deleted file mode 100644 index 789d205c..00000000 --- a/assets/js/4.316e5f5f.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{265:function(t,e,n){},296:function(t,e,n){"use strict";n(265)},354:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(296),n(7)),l=Object(p.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/5.3ff7fb0d.js b/assets/js/4.e6f48413.js similarity index 65% rename from assets/js/5.3ff7fb0d.js rename to assets/js/4.e6f48413.js index c3778f78..0c2380a7 100644 --- a/assets/js/5.3ff7fb0d.js +++ b/assets/js/4.e6f48413.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{266:function(t,e,a){},297:function(t,e,a){"use strict";a(266)},302:function(t,e,a){"use strict";a.r(e);var s={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(297),a(7)),n=Object(i.a)(s,(function(){return(0,this._self._c)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{289:function(t,e,a){},307:function(t,e,a){"use strict";a(289)},322:function(t,e,a){"use strict";a.r(e);var s={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(307),a(8)),n=Object(i.a)(s,(function(){return(0,this._self._c)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/24.6c1918dd.js b/assets/js/40.fe02d249.js similarity index 73% rename from assets/js/24.6c1918dd.js rename to assets/js/40.fe02d249.js index 54e0a6d2..768d3ab7 100644 --- a/assets/js/24.6c1918dd.js +++ b/assets/js/40.fe02d249.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{318:function(t,n,s){"use strict";s.r(n);var e=s(7),i=Object(e.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"using-environment-variables"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-environment-variables"}},[this._v("#")]),this._v(" Using environment variables")])])}),[],!1,null,null,null);n.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{341:function(t,n,s){"use strict";s.r(n);var e=s(8),i=Object(e.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"using-environment-variables"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-environment-variables"}},[this._v("#")]),this._v(" Using environment variables")])])}),[],!1,null,null,null);n.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/25.780f8976.js b/assets/js/41.1959125e.js similarity index 94% rename from assets/js/25.780f8976.js rename to assets/js/41.1959125e.js index 09b25a4c..029eaab7 100644 --- a/assets/js/25.780f8976.js +++ b/assets/js/41.1959125e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{319:function(e,t,o){"use strict";o.r(t);var n=o(7),a=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"exporting-videos-with-replay-mod"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#exporting-videos-with-replay-mod"}},[e._v("#")]),e._v(" Exporting videos with Replay Mod")]),e._v(" "),t("ol",[t("li",[e._v("Download the ffmpeg binary "),t("a",{attrs:{href:"https://github.com/Khang-NT/ffmpeg-binary-android/releases/tag/2018-07-31",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(". Choose one according to your device’s architecture.\n"),t("ul",[t("li",[e._v("(For GitHub builds) Due to the limit of Replay’s command window, you need to rename the executable to a short name, like -> "),t("code",[e._v(":fr:")]),e._v(". Let’s call it "),t("code",[e._v("")]),e._v(".")])])]),e._v(" "),t("li",[e._v("Install an APK Editor from Google Play or everywhere else.")]),e._v(" "),t("li",[e._v("Follow the instructions of the app to add the executable to "),t("code",[e._v("/lib/")]),e._v(" folder of the APK. Then build the APK and install it.\n"),t("ul",[t("li",[e._v("(Required for a clean install) Install everything needed (Forge, Replay Mod).")])])]),e._v(" "),t("li",[e._v("Now launch Minecraft. We haven’t done yet, so force close it after launching.")]),e._v(" "),t("li",[e._v("Find latestlog.txt.\n"),t("ul",[t("li",[e._v("Open it and find this line: "),t("code",[e._v("Added custom env: POJAV_NATIVEDIR=")]),e._v(".")]),e._v(" "),t("li",[e._v("Copy the "),t("code",[e._v("")]),e._v(" part.")])])]),e._v(" "),t("li",[e._v("Launch the game again, go to Replay Viewer and load the record you want to export.")]),e._v(" "),t("li",[e._v("Follow Replay’s instructions to add keyframes, then (press T show mouse cursor and) click at "),t("code",[e._v("Render Camera Path")]),e._v(".")]),e._v(" "),t("li",[e._v("Scroll to the bottom, paste the text you copied in step 5 into the first command line window, then write "),t("code",[e._v("/")]),e._v(" (step 1) at the end of the text line.")]),e._v(" "),t("li",[e._v("Tap "),t("code",[e._v("Render")]),e._v(" and enjoy your video.")])])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{344:function(e,t,o){"use strict";o.r(t);var n=o(8),a=Object(n.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"exporting-videos-with-replay-mod"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#exporting-videos-with-replay-mod"}},[e._v("#")]),e._v(" Exporting videos with Replay Mod")]),e._v(" "),t("ol",[t("li",[e._v("Download the ffmpeg binary "),t("a",{attrs:{href:"https://github.com/Khang-NT/ffmpeg-binary-android/releases/tag/2018-07-31",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(". Choose one according to your device’s architecture.\n"),t("ul",[t("li",[e._v("(For GitHub builds) Due to the limit of Replay’s command window, you need to rename the executable to a short name, like -> "),t("code",[e._v(":fr:")]),e._v(". Let’s call it "),t("code",[e._v("")]),e._v(".")])])]),e._v(" "),t("li",[e._v("Install an APK Editor from Google Play or everywhere else.")]),e._v(" "),t("li",[e._v("Follow the instructions of the app to add the executable to "),t("code",[e._v("/lib/")]),e._v(" folder of the APK. Then build the APK and install it.\n"),t("ul",[t("li",[e._v("(Required for a clean install) Install everything needed (Forge, Replay Mod).")])])]),e._v(" "),t("li",[e._v("Now launch Minecraft. We haven’t done yet, so force close it after launching.")]),e._v(" "),t("li",[e._v("Find latestlog.txt.\n"),t("ul",[t("li",[e._v("Open it and find this line: "),t("code",[e._v("Added custom env: POJAV_NATIVEDIR=")]),e._v(".")]),e._v(" "),t("li",[e._v("Copy the "),t("code",[e._v("")]),e._v(" part.")])])]),e._v(" "),t("li",[e._v("Launch the game again, go to Replay Viewer and load the record you want to export.")]),e._v(" "),t("li",[e._v("Follow Replay’s instructions to add keyframes, then (press T show mouse cursor and) click at "),t("code",[e._v("Render Camera Path")]),e._v(".")]),e._v(" "),t("li",[e._v("Scroll to the bottom, paste the text you copied in step 5 into the first command line window, then write "),t("code",[e._v("/")]),e._v(" (step 1) at the end of the text line.")]),e._v(" "),t("li",[e._v("Tap "),t("code",[e._v("Render")]),e._v(" and enjoy your video.")])])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/38.8769872e.js b/assets/js/42.d6258fce.js similarity index 54% rename from assets/js/38.8769872e.js rename to assets/js/42.d6258fce.js index 7ccf0236..6f5f2f73 100644 --- a/assets/js/38.8769872e.js +++ b/assets/js/42.d6258fce.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{333:function(t,n,s){"use strict";s.r(n);var e=s(7),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{343:function(t,n,s){"use strict";s.r(n);var e=s(8),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/27.d28bbb68.js b/assets/js/43.db498763.js similarity index 73% rename from assets/js/27.d28bbb68.js rename to assets/js/43.db498763.js index fe339018..670e4bc9 100644 --- a/assets/js/27.d28bbb68.js +++ b/assets/js/43.db498763.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{321:function(t,n,o){"use strict";o.r(n);var a=o(7),s=Object(a.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"downloading-a-copy-of-minecraft"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#downloading-a-copy-of-minecraft"}},[this._v("#")]),this._v(" Downloading a copy of Minecraft")])])}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{345:function(t,n,o){"use strict";o.r(n);var a=o(8),s=Object(a.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"downloading-a-copy-of-minecraft"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#downloading-a-copy-of-minecraft"}},[this._v("#")]),this._v(" Downloading a copy of Minecraft")])])}),[],!1,null,null,null);n.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/28.79ea1398.js b/assets/js/44.7510a05e.js similarity index 97% rename from assets/js/28.79ea1398.js rename to assets/js/44.7510a05e.js index 8e60877f..b2478cad 100644 --- a/assets/js/28.79ea1398.js +++ b/assets/js/44.7510a05e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{323:function(e,t,o){"use strict";o.r(t);var a=o(7),i=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"system-support-in-future-versions-of-pojavlauncher-ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#system-support-in-future-versions-of-pojavlauncher-ios"}},[e._v("#")]),e._v(" System support in future versions of PojavLauncher iOS")]),e._v(" "),t("p",[t("em",[e._v("This announcement will be covering the next 3 releases of PojavLauncher iOS.")])]),e._v(" "),t("p",[e._v("We've made some great strides with the iOS port of PojavLauncher: fixing "),t("RouterLink",{attrs:{to:"/OGL32.html"}},[e._v("1.17 and newer")]),e._v(", bringing "),t("RouterLink",{attrs:{to:"/JDK8.html"}},[e._v("OpenJDK 8 to iOS")]),e._v(", and now unveiling an "),t("RouterLink",{attrs:{to:"/UNJAIL.html"}},[e._v("unjailbroken variant")]),e._v(". However, all of the advancements we're making also stirred up old conversations, and we've come to a final conclusion:")],1),e._v(" "),t("p",[t("strong",[e._v("A future release of PojavLauncher will require iOS 14.0 and later.")])]),e._v(" "),t("h2",{attrs:{id:"but-why"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#but-why"}},[e._v("#")]),e._v(" But why?")]),e._v(" "),t("p",[e._v("Supporting iOS 12.0 and newer was a feat of engineering. However, it created multiple issues with feature support and user experience. We need to verify that our code works on iOS 12 before going ahead and compiling--if it does not, this complicates our development as we are faced with two options: dropping the feature on older versions, or importing external libraries. This causes slower development times, or lack of the feature entirely for our users.")]),e._v(" "),t("p",[e._v("We also took a look at the userbase currently playing on PojavLauncher. Most of the users asking for support in our Discord server (which is many times more active than the Issues tab on the GitHub repository) are already running iOS 14.0 or newer, and a few cases of users on iOS 13. We barely see users running iOS 12 anymore, and now that PojavLauncher works unjailbroken, users can update to a newer release of iOS while still retaining Java Edition.")]),e._v(" "),t("p",[e._v("This decision also comes after we understood that we don't really have the ability to test on these older versions anymore. Our devices are already running iOS 14.0+, and so are most of our testers.")]),e._v(" "),t("h2",{attrs:{id:"so-what-happens-now"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#so-what-happens-now"}},[e._v("#")]),e._v(" So what happens now?")]),e._v(" "),t("p",[e._v("Things are going to get somewhat complex, but this document will sort these things out.")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("PojavLauncher 2.1 - Recap")]),e._v(" "),t("p",[e._v("PojavLauncher 2.1 was largely unchanged from its original plans. Just to recap, its key features:")]),e._v(" "),t("ul",[t("li",[e._v("New split user interface to allow switching menus with ease")]),e._v(" "),t("li",[e._v("Rewritten preferences menu")]),e._v(" "),t("li",[e._v("Transitioned code to Objective-C from Java")]),e._v(" "),t("li",[e._v("First release with compatibility unjailbroken")]),e._v(" "),t("li",[e._v("Final release with jailbreak-specific packages")])]),e._v(" "),t("p",[e._v("This release will also begin to warn users with 1GB of memory about the incoming end-of-life.")])]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("PojavLauncher 2.2 - 1GB EOL")]),e._v(" "),t("p",[e._v("PojavLauncher 2.2 was already planned to drop the Apple A7-equipped devices from support, due to performance and stability issues. This has been extended all devices with less than 1 gigabyte of total memory:")]),e._v(" "),t("ul",[t("li",[e._v("iPhone 5s")]),e._v(" "),t("li",[e._v("iPhone 6")]),e._v(" "),t("li",[e._v("iPhone 6 Plus")]),e._v(" "),t("li",[e._v("iPad mini (2nd generation)")]),e._v(" "),t("li",[e._v("iPad mini (3rd generation)")]),e._v(" "),t("li",[e._v("iPad Air (1st generation)")]),e._v(" "),t("li",[e._v("iPod touch (6th generation)")])]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("a7_allow")]),e._v(" boolean in the preferences file has been replaced with "),t("code",[e._v("force_unsupported_launch")]),e._v(" to reflect the change. As stated before, support for these devices will end 3 weeks after 2.2 releases, or immediately, for you, if this boolean is toggled.")]),e._v(" "),t("p",[e._v("This release will also begin to warn users on iOS 12 or 13 about the incoming end-of-life. If you are using a device that is capable of running iOS 14 or later, the warning will additionally tell you to upgrade to a newer version of iOS.")])]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("PojavLauncher 2.3 - iOS 14.0+ begins")]),e._v(" "),t("p",[e._v("PojavLauncher 2.3 will begin the end-of-life process for iOS 12/13 users. Taking a similar approach to 2.2, the "),t("code",[e._v("force_unsupported_launch")]),e._v(" boolean can be toggled to override the behaviour of the launcher not opening. Support for these versions will end 3 weeks after 2.3 releases, or immediately, for you, if this boolean is toggled.")]),e._v(" "),t("p",[e._v("As part of this deprecation, beta builds of PojavLauncher 2.4 will move to iOS 14.0 and newer APIs. Moving to these APIs may break the boolean's ability to continue launching the application.")])]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("PojavLauncher 2.4 - iOS 14.0+ completed")]),e._v(" "),t("p",[e._v("PojavLauncher 2.4 will complete the transition to iOS 14.0 APIs and be incompatible with iOS 12/13 without modification to the source code.")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{346:function(e,t,o){"use strict";o.r(t);var a=o(8),i=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"system-support-in-future-versions-of-pojavlauncher-ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#system-support-in-future-versions-of-pojavlauncher-ios"}},[e._v("#")]),e._v(" System support in future versions of PojavLauncher iOS")]),e._v(" "),t("p",[t("em",[e._v("This announcement will be covering the next 3 releases of PojavLauncher iOS.")])]),e._v(" "),t("p",[e._v("We've made some great strides with the iOS port of PojavLauncher: fixing "),t("RouterLink",{attrs:{to:"/OGL32.html"}},[e._v("1.17 and newer")]),e._v(", bringing "),t("RouterLink",{attrs:{to:"/JDK8.html"}},[e._v("OpenJDK 8 to iOS")]),e._v(", and now unveiling an "),t("RouterLink",{attrs:{to:"/UNJAIL.html"}},[e._v("unjailbroken variant")]),e._v(". However, all of the advancements we're making also stirred up old conversations, and we've come to a final conclusion:")],1),e._v(" "),t("p",[t("strong",[e._v("A future release of PojavLauncher will require iOS 14.0 and later.")])]),e._v(" "),t("h2",{attrs:{id:"but-why"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#but-why"}},[e._v("#")]),e._v(" But why?")]),e._v(" "),t("p",[e._v("Supporting iOS 12.0 and newer was a feat of engineering. However, it created multiple issues with feature support and user experience. We need to verify that our code works on iOS 12 before going ahead and compiling--if it does not, this complicates our development as we are faced with two options: dropping the feature on older versions, or importing external libraries. This causes slower development times, or lack of the feature entirely for our users.")]),e._v(" "),t("p",[e._v("We also took a look at the userbase currently playing on PojavLauncher. Most of the users asking for support in our Discord server (which is many times more active than the Issues tab on the GitHub repository) are already running iOS 14.0 or newer, and a few cases of users on iOS 13. We barely see users running iOS 12 anymore, and now that PojavLauncher works unjailbroken, users can update to a newer release of iOS while still retaining Java Edition.")]),e._v(" "),t("p",[e._v("This decision also comes after we understood that we don't really have the ability to test on these older versions anymore. Our devices are already running iOS 14.0+, and so are most of our testers.")]),e._v(" "),t("h2",{attrs:{id:"so-what-happens-now"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#so-what-happens-now"}},[e._v("#")]),e._v(" So what happens now?")]),e._v(" "),t("p",[e._v("Things are going to get somewhat complex, but this document will sort these things out.")]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("PojavLauncher 2.1 - Recap")]),e._v(" "),t("p",[e._v("PojavLauncher 2.1 was largely unchanged from its original plans. Just to recap, its key features:")]),e._v(" "),t("ul",[t("li",[e._v("New split user interface to allow switching menus with ease")]),e._v(" "),t("li",[e._v("Rewritten preferences menu")]),e._v(" "),t("li",[e._v("Transitioned code to Objective-C from Java")]),e._v(" "),t("li",[e._v("First release with compatibility unjailbroken")]),e._v(" "),t("li",[e._v("Final release with jailbreak-specific packages")])]),e._v(" "),t("p",[e._v("This release will also begin to warn users with 1GB of memory about the incoming end-of-life.")])]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("PojavLauncher 2.2 - 1GB EOL")]),e._v(" "),t("p",[e._v("PojavLauncher 2.2 was already planned to drop the Apple A7-equipped devices from support, due to performance and stability issues. This has been extended all devices with less than 1 gigabyte of total memory:")]),e._v(" "),t("ul",[t("li",[e._v("iPhone 5s")]),e._v(" "),t("li",[e._v("iPhone 6")]),e._v(" "),t("li",[e._v("iPhone 6 Plus")]),e._v(" "),t("li",[e._v("iPad mini (2nd generation)")]),e._v(" "),t("li",[e._v("iPad mini (3rd generation)")]),e._v(" "),t("li",[e._v("iPad Air (1st generation)")]),e._v(" "),t("li",[e._v("iPod touch (6th generation)")])]),e._v(" "),t("p",[e._v("The "),t("code",[e._v("a7_allow")]),e._v(" boolean in the preferences file has been replaced with "),t("code",[e._v("force_unsupported_launch")]),e._v(" to reflect the change. As stated before, support for these devices will end 3 weeks after 2.2 releases, or immediately, for you, if this boolean is toggled.")]),e._v(" "),t("p",[e._v("This release will also begin to warn users on iOS 12 or 13 about the incoming end-of-life. If you are using a device that is capable of running iOS 14 or later, the warning will additionally tell you to upgrade to a newer version of iOS.")])]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("PojavLauncher 2.3 - iOS 14.0+ begins")]),e._v(" "),t("p",[e._v("PojavLauncher 2.3 will begin the end-of-life process for iOS 12/13 users. Taking a similar approach to 2.2, the "),t("code",[e._v("force_unsupported_launch")]),e._v(" boolean can be toggled to override the behaviour of the launcher not opening. Support for these versions will end 3 weeks after 2.3 releases, or immediately, for you, if this boolean is toggled.")]),e._v(" "),t("p",[e._v("As part of this deprecation, beta builds of PojavLauncher 2.4 will move to iOS 14.0 and newer APIs. Moving to these APIs may break the boolean's ability to continue launching the application.")])]),e._v(" "),t("details",{staticClass:"custom-block details"},[t("summary",[e._v("PojavLauncher 2.4 - iOS 14.0+ completed")]),e._v(" "),t("p",[e._v("PojavLauncher 2.4 will complete the transition to iOS 14.0 APIs and be incompatible with iOS 12/13 without modification to the source code.")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/29.c4bc73ac.js b/assets/js/45.ba76426b.js similarity index 73% rename from assets/js/29.c4bc73ac.js rename to assets/js/45.ba76426b.js index ab73d939..7bc7d760 100644 --- a/assets/js/29.c4bc73ac.js +++ b/assets/js/45.ba76426b.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{324:function(t,s,a){"use strict";a.r(s);var n=a(7),r=Object(n.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"adding-custom-java-arguments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#adding-custom-java-arguments"}},[this._v("#")]),this._v(" Adding custom Java arguments")])])}),[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{348:function(t,s,a){"use strict";a.r(s);var n=a(8),r=Object(n.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"adding-custom-java-arguments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#adding-custom-java-arguments"}},[this._v("#")]),this._v(" Adding custom Java arguments")])])}),[],!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/46.59246ac6.js b/assets/js/46.59246ac6.js deleted file mode 100644 index 95ceed13..00000000 --- a/assets/js/46.59246ac6.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{341:function(t,s,i){"use strict";i.r(s);var n=i(7),a=Object(n.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"signing-in"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#signing-in"}},[this._v("#")]),this._v(" Signing in")]),this._v(" "),t("p",[this._v("PojavLauncher supports multiple types of accounts to sign in:")]),this._v(" "),t("h2",{attrs:{id:""}},[t("a",{staticClass:"header-anchor",attrs:{href:"#"}},[this._v("#")])])])}),[],!1,null,null,null);s.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/31.9edeff12.js b/assets/js/46.a1a5f27f.js similarity index 73% rename from assets/js/31.9edeff12.js rename to assets/js/46.a1a5f27f.js index b189c7c6..be30db5e 100644 --- a/assets/js/31.9edeff12.js +++ b/assets/js/46.a1a5f27f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{326:function(e,t,a){"use strict";a.r(t);var r=a(7),o=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"ios-and-jit"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ios-and-jit"}},[e._v("#")]),e._v(' iOS and "JIT"')]),e._v(" "),t("h2",{attrs:{id:"what-is-jit-and-why-do-i-care"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-is-jit-and-why-do-i-care"}},[e._v("#")]),e._v(" What is JIT and why do I care?")]),e._v(" "),t("p",[e._v("JIT stands for "),t("strong",[e._v("just-in-time compilation")]),e._v(", and (although not specific to Java), it serves as a method of executing Java code quicker then the alternatives, by compiling as-needed functions at runtime, rather than its slower alternatives to compile all code at runtime repeatedly or writing in a less portable, hardware-level format. It is the fastest method to running Minecraft: Java Edition on mobile devices, essentially required for a usable experience.")]),e._v(" "),t("p",[e._v("On Apple's mobile platforms (iOS, iPadOS, tvOS, in our case), a security feature known as "),t("strong",[e._v("code-signing")]),e._v(" is deeply rooted in the operation of the system. It serves to verify that applications haven't been tampered with after they were installed by a user, so that a malicious payload cannot be installed after-the-fact by a malicious someone. However, due to the process in which code-signing works, this prevents JIT from working properly as it works by reading code, modifying it, and then executing it in some fashion (whether that be by copying the code to a new location in memory, executing directly, or mirroring).")]),e._v(" "),t("h2",{attrs:{id:"what-does-this-mean-for-pojavlauncher"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-does-this-mean-for-pojavlauncher"}},[e._v("#")]),e._v(" What does this mean for PojavLauncher?")]),e._v(" "),t("h3",{attrs:{id:"jailbroken-devices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#jailbroken-devices"}},[e._v("#")]),e._v(" Jailbroken devices")]),e._v(" "),t("p",[e._v("Jailbroken device users don't need to worry about JIT requirements, as PojavLauncher is built to detect jailbreaks and automatically enable new features.")]),e._v(" "),t("h3",{attrs:{id:"unjailbroken-devices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#unjailbroken-devices"}},[e._v("#")]),e._v(" Unjailbroken devices")]),e._v(" "),t("p",[e._v("Unjailbroken users can see two different outcomes, based on what they used to sideload PojavLauncher.")]),e._v(" "),t("h4",{attrs:{id:"trollstore"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#trollstore"}},[e._v("#")]),e._v(" TrollStore")]),e._v(" "),t("p",[e._v("If you used TrollStore to sideload PojavLauncher, good news: PojavLauncher takes advantage of the extended capabilities with TrollStore and automatically enables JIT when launched.")]),e._v(" "),t("h4",{attrs:{id:"normal-sideload"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#normal-sideload"}},[e._v("#")]),e._v(" Normal sideload")]),e._v(" "),t("p",[e._v("If you sideload normally, you will need to enable JIT in some way. The most common method is to attach a debug server to the application while it's running - JITStreamer, AltStore, and Jitterbug all use this with their Jit enabling functions. The only downside to this method is that you are required to be connected to a WiFi network in order to enable JIT.")]),e._v(" "),t("p",[e._v("PojavLauncher has native integration with JITStreamer, and we recommend following the steps available "),t("a",{attrs:{href:"https://jitstreamer.com/?slide=home",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(" to get started. Alternatively, you can use "),t("a",{attrs:{href:"https://faq.altstore.io/how-to-use-altstore/altjit",target:"_blank",rel:"noopener noreferrer"}},[e._v("AltStore"),t("OutboundLink")],1),e._v(" or, for more advanced users, "),t("a",{attrs:{href:"https://github.com/osy/Jitterbug/tree/main/Jitterbug",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jitterbug"),t("OutboundLink")],1),e._v(". Methods not listed here are not confirmed or recommended by us for use with PojavLauncher.")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{349:function(e,t,a){"use strict";a.r(t);var o=a(8),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"ios-and-jit"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ios-and-jit"}},[e._v("#")]),e._v(' iOS and "JIT"')]),e._v(" "),t("h2",{attrs:{id:"what-is-jit-and-why-do-i-care"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-is-jit-and-why-do-i-care"}},[e._v("#")]),e._v(" What is JIT and why do I care?")]),e._v(" "),t("p",[e._v("JIT stands for "),t("strong",[e._v("just-in-time compilation")]),e._v(", and (although not specific to Java), it serves as a method of executing Java code quicker then the alternatives, by compiling as-needed functions at runtime, rather than its slower alternatives to compile all code at runtime repeatedly or writing in a less portable, hardware-level format. It is the fastest method to running Minecraft: Java Edition on mobile devices, essentially required for a usable experience.")]),e._v(" "),t("p",[e._v("On Apple's mobile platforms (iOS, iPadOS, tvOS, in our case), a security feature known as "),t("strong",[e._v("code-signing")]),e._v(" is deeply rooted in the operation of the system. It serves to verify that applications haven't been tampered with after they were installed by a user, so that a malicious payload cannot be installed after-the-fact by a malicious someone. However, due to the process in which code-signing works, this prevents JIT from working properly as it works by reading code, modifying it, and then executing it in some fashion (whether that be by copying the code to a new location in memory, executing directly, or mirroring).")]),e._v(" "),t("h2",{attrs:{id:"what-does-this-mean-for-pojavlauncher"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-does-this-mean-for-pojavlauncher"}},[e._v("#")]),e._v(" What does this mean for PojavLauncher?")]),e._v(" "),t("h3",{attrs:{id:"jailbroken-devices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#jailbroken-devices"}},[e._v("#")]),e._v(" Jailbroken devices")]),e._v(" "),t("p",[e._v("Jailbroken device users don't need to worry about JIT requirements, as PojavLauncher is built to detect jailbreaks and automatically enable new features.")]),e._v(" "),t("h3",{attrs:{id:"unjailbroken-devices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#unjailbroken-devices"}},[e._v("#")]),e._v(" Unjailbroken devices")]),e._v(" "),t("p",[e._v("Unjailbroken users can see two different outcomes, based on what they used to sideload PojavLauncher.")]),e._v(" "),t("h4",{attrs:{id:"trollstore"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#trollstore"}},[e._v("#")]),e._v(" TrollStore")]),e._v(" "),t("p",[e._v("If you used TrollStore to sideload PojavLauncher, good news: PojavLauncher takes advantage of the extended capabilities with TrollStore and automatically enables JIT when launched.")]),e._v(" "),t("h4",{attrs:{id:"normal-sideload"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#normal-sideload"}},[e._v("#")]),e._v(" Normal sideload")]),e._v(" "),t("p",[e._v("If you sideload normally, you will need to enable JIT in some way. The most common method is to attach a debug server to the application while it's running - AltStore, SideStore, and Jitterbug all use this method with their JIT enabling functions. The only downside to this method is that you are required to be connected to a WiFi network in order to enable JIT.")]),e._v(" "),t("p",[e._v("You can also use "),t("a",{attrs:{href:"https://faq.altstore.io/how-to-use-altstore/altjit",target:"_blank",rel:"noopener noreferrer"}},[e._v("AltStore"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://wiki.sidestore.io/guides/getting-started/#setting-up-wireguard",target:"_blank",rel:"noopener noreferrer"}},[e._v("SideStore"),t("OutboundLink")],1),e._v(", or, for more advanced users, "),t("a",{attrs:{href:"https://github.com/osy/Jitterbug/tree/main/Jitterbug",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jitterbug"),t("OutboundLink")],1),e._v(". Methods not listed here are not confirmed or recommended by us for use with PojavLauncher.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/32.15310ca2.js b/assets/js/47.61a3fcea.js similarity index 92% rename from assets/js/32.15310ca2.js rename to assets/js/47.61a3fcea.js index 53d842a3..c37a8660 100644 --- a/assets/js/32.15310ca2.js +++ b/assets/js/47.61a3fcea.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{327:function(e,a,o){"use strict";o.r(a);var r=o(7),n=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"is-pojavlauncher-legal-and-safe-to-use"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#is-pojavlauncher-legal-and-safe-to-use"}},[e._v("#")]),e._v(" Is PojavLauncher legal and safe to use?")]),e._v(" "),a("p",[e._v("Although in the past it may have not been the case, PojavLauncher is now legal in the eyes of Microsoft. We take care to prevent piracy with our launcher, and do not provide support for those who do not own the game.")]),e._v(" "),a("p",[e._v("PojavLauncher also abides by the Minecraft EULA, providing a free and open-source launcher that does not redistribute game files on other servers.")]),e._v(" "),a("p",[e._v("Authentication and downloads are performed directly with Mojang's servers--PojavLauncher never collects your information, credentials, or data, and your information is stored on-device where only you can access it.")]),e._v(" "),a("p",[e._v("PojavLauncher does not cause harm to your device, and does not distribute harmful programs and executables.")]),e._v(" "),a("ul",[a("li",[e._v("This cannot be verified if you acquire PojavLauncher from a source that is not official.")]),e._v(" "),a("li",[e._v("For iOS users: jailbreaking can be considered a security risk, so be cautious when jailbroken.")]),e._v(" "),a("li",[e._v("Other Minecraft: Java Edition on Android/iOS apps claims properties of PojavLauncher. They are not owned nor managed by PojavLauncherTeam.")])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{350:function(e,a,o){"use strict";o.r(a);var r=o(8),n=Object(r.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"is-pojavlauncher-legal-and-safe-to-use"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#is-pojavlauncher-legal-and-safe-to-use"}},[e._v("#")]),e._v(" Is PojavLauncher legal and safe to use?")]),e._v(" "),a("p",[e._v("Although in the past it may have not been the case, PojavLauncher is now legal in the eyes of Microsoft. We take care to prevent piracy with our launcher, and do not provide support for those who do not own the game.")]),e._v(" "),a("p",[e._v("PojavLauncher also abides by the Minecraft EULA, providing a free and open-source launcher that does not redistribute game files on other servers.")]),e._v(" "),a("p",[e._v("Authentication and downloads are performed directly with Mojang's servers--PojavLauncher never collects your information, credentials, or data, and your information is stored on-device where only you can access it.")]),e._v(" "),a("p",[e._v("PojavLauncher does not cause harm to your device, and does not distribute harmful programs and executables.")]),e._v(" "),a("ul",[a("li",[e._v("This cannot be verified if you acquire PojavLauncher from a source that is not official.")]),e._v(" "),a("li",[e._v("For iOS users: jailbreaking can be considered a security risk, so be cautious when jailbroken.")]),e._v(" "),a("li",[e._v("Other Minecraft: Java Edition on Android/iOS apps claims properties of PojavLauncher. They are not owned nor managed by PojavLauncherTeam.")])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/48.dfd1e8ba.js b/assets/js/48.dfd1e8ba.js deleted file mode 100644 index 335d13ac..00000000 --- a/assets/js/48.dfd1e8ba.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{343:function(t,n,s){"use strict";s.r(n);var e=s(7),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/33.d6c22520.js b/assets/js/48.fd6c9f45.js similarity index 89% rename from assets/js/33.d6c22520.js rename to assets/js/48.fd6c9f45.js index b797a4fa..1f47b3d1 100644 --- a/assets/js/33.d6c22520.js +++ b/assets/js/48.fd6c9f45.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{328:function(o,e,n){"use strict";n.r(e);var t=n(7),a=Object(t.a)({},(function(){var o=this,e=o._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":o.$parent.slotKey}},[e("h1",{attrs:{id:"offline-mode-is-going-places"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#offline-mode-is-going-places"}},[o._v("#")]),o._v(" Offline mode is going places.")]),o._v(" "),e("p",[o._v("Offline mode has been replaced by local accounts, which still allows you to play Minecraft offline but does not allow you to download Minecraft. In order to download Minecraft, you will have to sign in to the launcher using a online account (Microsoft/Mojang account with Minecraft purchased)")]),o._v(" "),e("p",[o._v("PojavLauncher does "),e("strong",[o._v("NOT")]),o._v(", and will "),e("strong",[o._v("NEVER")]),o._v(" support "),e("strong",[o._v("piracy acts")]),o._v(". You MUST purchase Minecraft legally and follow Mojang's Terms of Service to download Minecraft.\nTo purchase Minecraft "),e("a",{attrs:{href:"https://www.minecraft.net/",target:"_blank",rel:"noopener noreferrer"}},[o._v("click this"),e("OutboundLink")],1),o._v(".")])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{351:function(o,e,n){"use strict";n.r(e);var t=n(8),a=Object(t.a)({},(function(){var o=this,e=o._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":o.$parent.slotKey}},[e("h1",{attrs:{id:"offline-mode-is-going-places"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#offline-mode-is-going-places"}},[o._v("#")]),o._v(" Offline mode is going places.")]),o._v(" "),e("p",[o._v("Offline mode has been replaced by local accounts, which still allows you to play Minecraft offline but does not allow you to download Minecraft. In order to download Minecraft, you will have to sign in to the launcher using a online account (Microsoft/Mojang account with Minecraft purchased)")]),o._v(" "),e("p",[o._v("PojavLauncher does "),e("strong",[o._v("NOT")]),o._v(", and will "),e("strong",[o._v("NEVER")]),o._v(" support "),e("strong",[o._v("piracy acts")]),o._v(". You MUST purchase Minecraft legally and follow Mojang's Terms of Service to download Minecraft.\nTo purchase Minecraft "),e("a",{attrs:{href:"https://www.minecraft.net/",target:"_blank",rel:"noopener noreferrer"}},[o._v("click this"),e("OutboundLink")],1),o._v(".")])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/34.6103cd03.js b/assets/js/49.fcf2aa34.js similarity index 89% rename from assets/js/34.6103cd03.js rename to assets/js/49.fcf2aa34.js index dd167ca6..b500c05d 100644 --- a/assets/js/34.6103cd03.js +++ b/assets/js/49.fcf2aa34.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{329:function(t,e,s){"use strict";s.r(e);var a=s(7),r=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"supported-minecraft-versions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#supported-minecraft-versions"}},[t._v("#")]),t._v(" Supported Minecraft versions")]),t._v(" "),e("p",[t._v("With each new Minecraft release comes questions: how well does it play nice with PojavLauncher?")]),t._v(" "),e("p",[t._v("Thanks to the hard work from PojavLauncherTeam, both the Android and the iOS port now cover most Minecraft versions...")]),t._v(" "),e("p",[t._v("...with some small exceptions that will be listed below.")]),t._v(" "),e("h2",{attrs:{id:"android"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[t._v("#")]),t._v(" Android")]),t._v(" "),e("p",[t._v("Current issues, as of the Dahlia update")]),t._v(" "),e("h2",{attrs:{id:"ios"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[t._v("#")]),t._v(" iOS")]),t._v(" "),e("p",[t._v("Current issues, as of the Raw Iron update")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{354:function(t,e,s){"use strict";s.r(e);var a=s(8),r=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"supported-minecraft-versions"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#supported-minecraft-versions"}},[t._v("#")]),t._v(" Supported Minecraft versions")]),t._v(" "),e("p",[t._v("With each new Minecraft release comes questions: how well does it play nice with PojavLauncher?")]),t._v(" "),e("p",[t._v("Thanks to the hard work from PojavLauncherTeam, both the Android and the iOS port now cover most Minecraft versions...")]),t._v(" "),e("p",[t._v("...with some small exceptions that will be listed below.")]),t._v(" "),e("h2",{attrs:{id:"android"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[t._v("#")]),t._v(" Android")]),t._v(" "),e("p",[t._v("Current issues, as of the Dahlia update")]),t._v(" "),e("h2",{attrs:{id:"ios"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[t._v("#")]),t._v(" iOS")]),t._v(" "),e("p",[t._v("Current issues, as of the Raw Iron update")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/6.bee98ddd.js b/assets/js/5.bce71880.js similarity index 88% rename from assets/js/6.bee98ddd.js rename to assets/js/5.bce71880.js index 4cf275fe..97701245 100644 --- a/assets/js/6.bee98ddd.js +++ b/assets/js/5.bce71880.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{267:function(e,t,a){},298:function(e,t,a){"use strict";a(267)},303:function(e,t,a){"use strict";a.r(t);var o={name:"CodeGroup",data:()=>({codeTabs:[],activeCodeTabIndex:-1}),watch:{activeCodeTabIndex(e){this.activateCodeTab(e)}},mounted(){this.loadTabs()},methods:{changeCodeTab(e){this.activeCodeTabIndex=e},loadTabs(){this.codeTabs=(this.$slots.default||[]).filter(e=>Boolean(e.componentOptions)).map((e,t)=>(""===e.componentOptions.propsData.active&&(this.activeCodeTabIndex=t),{title:e.componentOptions.propsData.title,elm:e.elm})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab(e){this.codeTabs.forEach(e=>{e.elm&&e.elm.classList.remove("theme-code-block__active")}),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},s=(a(298),a(7)),c=Object(s.a)(o,(function(){var e=this,t=e._self._c;return t("ClientOnly",[t("div",{staticClass:"theme-code-group"},[t("div",{staticClass:"theme-code-group__nav"},[t("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(a,o){return t("li",{key:a.title,staticClass:"theme-code-group__li"},[t("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(a.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?t("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{290:function(e,t,a){},308:function(e,t,a){"use strict";a(290)},323:function(e,t,a){"use strict";a.r(t);var o={name:"CodeGroup",data:()=>({codeTabs:[],activeCodeTabIndex:-1}),watch:{activeCodeTabIndex(e){this.activateCodeTab(e)}},mounted(){this.loadTabs()},methods:{changeCodeTab(e){this.activeCodeTabIndex=e},loadTabs(){this.codeTabs=(this.$slots.default||[]).filter(e=>Boolean(e.componentOptions)).map((e,t)=>(""===e.componentOptions.propsData.active&&(this.activeCodeTabIndex=t),{title:e.componentOptions.propsData.title,elm:e.elm})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab(e){this.codeTabs.forEach(e=>{e.elm&&e.elm.classList.remove("theme-code-block__active")}),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},s=(a(308),a(8)),c=Object(s.a)(o,(function(){var e=this,t=e._self._c;return t("ClientOnly",[t("div",{staticClass:"theme-code-group"},[t("div",{staticClass:"theme-code-group__nav"},[t("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(a,o){return t("li",{key:a.title,staticClass:"theme-code-group__li"},[t("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(a.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?t("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/35.1e62d38b.js b/assets/js/50.1fc002c3.js similarity index 95% rename from assets/js/35.1e62d38b.js rename to assets/js/50.1fc002c3.js index 67d31e45..92b98988 100644 --- a/assets/js/35.1e62d38b.js +++ b/assets/js/50.1fc002c3.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{330:function(t,o,e){"use strict";e.r(o);var r=e(7),s=Object(r.a)({},(function(){var t=this,o=t._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"installing-custom-versions-of-minecraft"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#installing-custom-versions-of-minecraft"}},[t._v("#")]),t._v(" Installing custom versions of Minecraft")]),t._v(" "),o("p",[t._v("If you want an old mod or modpack to run (Minecraft 1.2.4 and older), this is for you. Warning, not for newcomers!")]),t._v(" "),o("h3",{attrs:{id:"installation"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[t._v("#")]),t._v(" Installation:")]),t._v(" "),o("ol",[o("li",[t._v("If you are on Android, install "),o("a",{attrs:{href:"https://forum.xda-developers.com/showpost.php?p=23109280&postcount=2",target:"_blank",rel:"noopener noreferrer"}},[o("strong",[t._v("MiXplorer")]),o("OutboundLink")],1),t._v(" and "),o("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.mixplorer.addon.archive",target:"_blank",rel:"noopener noreferrer"}},[o("strong",[t._v("MiX Archive")]),o("OutboundLink")],1)]),t._v(" "),o("li",[t._v("Make a copy of the Minecraft version you want to modify")]),t._v(" "),o("li",[t._v("Rename the custom version "),o("strong",[t._v("folder")]),t._v(", "),o("strong",[t._v(".jar")]),t._v(" and "),o("strong",[t._v(".json")]),t._v(" to your desired custom version name (for example, "),o("strong",[t._v("foo")]),t._v(", "),o("strong",[t._v("foo.jar")]),t._v(", "),o("strong",[t._v("foo.json")]),t._v(")")]),t._v(" "),o("li",[t._v("Open the custom version's "),o("strong",[t._v(".json")]),t._v(" with MiX's "),o("strong",[t._v("Text Editor")])]),t._v(" "),o("li",[t._v("Remove "),o("code",[t._v('"downloads:{"client"...}')]),t._v(" as shown in the screenshot")])]),t._v(" "),o("p",[o("img",{attrs:{src:"https://user-images.githubusercontent.com/85581164/220926885-d25e911f-98c4-4989-af06-f1bd81acc7e2.jpg",alt:"custom2"}})]),t._v(" "),o("ol",{attrs:{start:"6"}},[o("li",[t._v("Change "),o("code",[t._v('"id": "1.2.4"')]),t._v(" to "),o("code",[t._v('"id": "(your custom version name)"')])]),t._v(" "),o("li",[t._v("Change "),o("code",[t._v('"mainClass": "net.minecraft.launchwrapper.Launch"')]),t._v(" to "),o("code",[t._v('"mainClass": "net.minecraft.client.Minecraft"')])]),t._v(" "),o("li",[t._v("Save the "),o("strong",[t._v(".json")])]),t._v(" "),o("li",[t._v("Modify your "),o("strong",[t._v(".jar")]),t._v(" as desired, make sure to delete the "),o("code",[t._v("META-INF")]),t._v(" folder afterwards.")]),t._v(" "),o("li",[t._v("Start up your custom version!")])]),t._v(" "),o("h3",{attrs:{id:"notes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#notes"}},[t._v("#")]),t._v(" Notes:")]),t._v(" "),o("ul",[o("li",[t._v("If your game is stuck at the Mojang screen afterwards, try deleting "),o("strong",[t._v("options.txt")])]),t._v(" "),o("li",[t._v("This guide is "),o("strong",[t._v("NOT")]),t._v(" for Babric or Cursed Fabric!")])])])}),[],!1,null,null,null);o.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{352:function(t,o,e){"use strict";e.r(o);var r=e(8),s=Object(r.a)({},(function(){var t=this,o=t._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"installing-custom-versions-of-minecraft"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#installing-custom-versions-of-minecraft"}},[t._v("#")]),t._v(" Installing custom versions of Minecraft")]),t._v(" "),o("p",[t._v("If you want an old mod or modpack to run (Minecraft 1.2.4 and older), this is for you. Warning, not for newcomers!")]),t._v(" "),o("h3",{attrs:{id:"installation"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#installation"}},[t._v("#")]),t._v(" Installation:")]),t._v(" "),o("ol",[o("li",[t._v("If you are on Android, install "),o("a",{attrs:{href:"https://forum.xda-developers.com/showpost.php?p=23109280&postcount=2",target:"_blank",rel:"noopener noreferrer"}},[o("strong",[t._v("MiXplorer")]),o("OutboundLink")],1),t._v(" and "),o("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.mixplorer.addon.archive",target:"_blank",rel:"noopener noreferrer"}},[o("strong",[t._v("MiX Archive")]),o("OutboundLink")],1)]),t._v(" "),o("li",[t._v("Make a copy of the Minecraft version you want to modify")]),t._v(" "),o("li",[t._v("Rename the custom version "),o("strong",[t._v("folder")]),t._v(", "),o("strong",[t._v(".jar")]),t._v(" and "),o("strong",[t._v(".json")]),t._v(" to your desired custom version name (for example, "),o("strong",[t._v("foo")]),t._v(", "),o("strong",[t._v("foo.jar")]),t._v(", "),o("strong",[t._v("foo.json")]),t._v(")")]),t._v(" "),o("li",[t._v("Open the custom version's "),o("strong",[t._v(".json")]),t._v(" with MiX's "),o("strong",[t._v("Text Editor")])]),t._v(" "),o("li",[t._v("Remove "),o("code",[t._v('"downloads:{"client"...}')]),t._v(" as shown in the screenshot")])]),t._v(" "),o("p",[o("img",{attrs:{src:"https://user-images.githubusercontent.com/85581164/220926885-d25e911f-98c4-4989-af06-f1bd81acc7e2.jpg",alt:"custom2"}})]),t._v(" "),o("ol",{attrs:{start:"6"}},[o("li",[t._v("Change "),o("code",[t._v('"id": "1.2.4"')]),t._v(" to "),o("code",[t._v('"id": "(your custom version name)"')])]),t._v(" "),o("li",[t._v("Change "),o("code",[t._v('"mainClass": "net.minecraft.launchwrapper.Launch"')]),t._v(" to "),o("code",[t._v('"mainClass": "net.minecraft.client.Minecraft"')])]),t._v(" "),o("li",[t._v("Save the "),o("strong",[t._v(".json")])]),t._v(" "),o("li",[t._v("Modify your "),o("strong",[t._v(".jar")]),t._v(" as desired, make sure to delete the "),o("code",[t._v("META-INF")]),t._v(" folder afterwards.")]),t._v(" "),o("li",[t._v("Start up your custom version!")])]),t._v(" "),o("h3",{attrs:{id:"notes"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#notes"}},[t._v("#")]),t._v(" Notes:")]),t._v(" "),o("ul",[o("li",[t._v("If your game is stuck at the Mojang screen afterwards, try deleting "),o("strong",[t._v("options.txt")])]),t._v(" "),o("li",[t._v("This guide is "),o("strong",[t._v("NOT")]),t._v(" for Babric or Cursed Fabric!")])])])}),[],!1,null,null,null);o.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/36.1c45ac60.js b/assets/js/51.09b39f58.js similarity index 93% rename from assets/js/36.1c45ac60.js rename to assets/js/51.09b39f58.js index a2def128..425032d1 100644 --- a/assets/js/36.1c45ac60.js +++ b/assets/js/51.09b39f58.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{331:function(e,a,t){"use strict";t.r(a);var o=t(7),r=Object(o.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"modpacks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#modpacks"}},[e._v("#")]),e._v(" Modpacks")]),e._v(" "),a("p",[e._v('Modpacks, usually archived in a .zip form containing mod metadatas, are mods usually "duct taped" together to bring modded Minecraft in a more convenient way rather than handpicking mods one by one.')]),e._v(" "),a("p",[e._v("Popular examples of these can be found on the "),a("a",{attrs:{href:"https://www.curseforge.com/minecraft/modpacks",target:"_blank",rel:"noopener noreferrer"}},[e._v("CurseForge"),a("OutboundLink")],1),e._v(" website.")]),e._v(" "),a("h2",{attrs:{id:"official-modpacks-from-pojavlauncherteam"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#official-modpacks-from-pojavlauncherteam"}},[e._v("#")]),e._v(" Official Modpacks from PojavLauncherTeam")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavOptimize",target:"_blank",rel:"noopener noreferrer"}},[e._v("PojavOptimize (crystall1nedev, Chuck_Norris_)"),a("OutboundLink")],1),e._v(" - A collection of mods to improve the performance and user experience.")]),e._v(" "),a("li",[a("a",{attrs:{href:"https://www.mediafire.com/folder/6p1xqhmmihf7x/PojavOptimize",target:"_blank",rel:"noopener noreferrer"}},[e._v("PojavOptimize (GaucovyAero)"),a("OutboundLink")],1),e._v(" - For maximum FPS, this modpack ships with the lowest settings possible.")])]),e._v(" "),a("p",[e._v("These modpacks are specially made for PojavLauncher, but it doesn't mean you can't try them on PC too!")]),e._v(" "),a("h2",{attrs:{id:"installing-modpacks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installing-modpacks"}},[e._v("#")]),e._v(" Installing Modpacks")]),e._v(" "),a("p",[e._v("⚠️ There is NO modpack installer in the launcher itself. It won't be added in the near future.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{353:function(e,a,t){"use strict";t.r(a);var o=t(8),r=Object(o.a)({},(function(){var e=this,a=e._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"modpacks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#modpacks"}},[e._v("#")]),e._v(" Modpacks")]),e._v(" "),a("p",[e._v('Modpacks, usually archived in a .zip form containing mod metadatas, are mods usually "duct taped" together to bring modded Minecraft in a more convenient way rather than handpicking mods one by one.')]),e._v(" "),a("p",[e._v("Popular examples of these can be found on the "),a("a",{attrs:{href:"https://www.curseforge.com/minecraft/modpacks",target:"_blank",rel:"noopener noreferrer"}},[e._v("CurseForge"),a("OutboundLink")],1),e._v(" website.")]),e._v(" "),a("h2",{attrs:{id:"official-modpacks-from-pojavlauncherteam"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#official-modpacks-from-pojavlauncherteam"}},[e._v("#")]),e._v(" Official Modpacks from PojavLauncherTeam")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavOptimize",target:"_blank",rel:"noopener noreferrer"}},[e._v("PojavOptimize (crystall1nedev, Chuck_Norris_)"),a("OutboundLink")],1),e._v(" - A collection of mods to improve the performance and user experience.")]),e._v(" "),a("li",[a("a",{attrs:{href:"https://www.mediafire.com/folder/6p1xqhmmihf7x/PojavOptimize",target:"_blank",rel:"noopener noreferrer"}},[e._v("PojavOptimize (GaucovyAero)"),a("OutboundLink")],1),e._v(" - For maximum FPS, this modpack ships with the lowest settings possible.")])]),e._v(" "),a("p",[e._v("These modpacks are specially made for PojavLauncher, but it doesn't mean you can't try them on PC too!")]),e._v(" "),a("h2",{attrs:{id:"installing-modpacks"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#installing-modpacks"}},[e._v("#")]),e._v(" Installing Modpacks")]),e._v(" "),a("p",[e._v("⚠️ There is NO modpack installer in the launcher itself. It won't be added in the near future.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/37.a15bb37e.js b/assets/js/52.1544aa8c.js similarity index 99% rename from assets/js/37.a15bb37e.js rename to assets/js/52.1544aa8c.js index 3e368228..190e91f3 100644 --- a/assets/js/37.a15bb37e.js +++ b/assets/js/52.1544aa8c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{332:function(e,r,t){"use strict";t.r(r);var n=t(7),o=Object(n.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"unsupported-mods-and-clients"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#unsupported-mods-and-clients"}},[e._v("#")]),e._v(" Unsupported Mods and Clients")]),e._v(" "),r("p",[e._v("Not everything that works on PC works on PojavLauncher. Below is a non-exhaustive list of mods that "),r("strong",[e._v("may")]),e._v(" not work.")]),e._v(" "),r("h2",{attrs:{id:"performance-mods-shaders"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#performance-mods-shaders"}},[e._v("#")]),e._v(" Performance Mods + Shaders")]),e._v(" "),r("ul",[r("li",[r("p",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/sodium",target:"_blank",rel:"noopener noreferrer"}},[e._v("Sodium"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://www.mediafire.com/folder/n004fh6pxuxk8/Sodium_1.17%2B",target:"_blank",rel:"noopener noreferrer"}},[e._v("patch"),r("OutboundLink")],1),e._v(" for GL4ES)")])])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/rubidium/files",target:"_blank",rel:"noopener noreferrer"}},[e._v("Rubidium"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://www.mediafire.com/folder/jcyrf8l0osn4m/Rubidium_1.17%2B",target:"_blank",rel:"noopener noreferrer"}},[e._v("patch"),r("OutboundLink")],1),e._v(" for GL4ES)")])])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/chlorine",target:"_blank",rel:"noopener noreferrer"}},[e._v("Chlorine"),r("OutboundLink")],1)])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-mods/1286604-shaders-mod-updated-by-karyonix",target:"_blank",rel:"noopener noreferrer"}},[e._v("ShadersMod (GLSL Shaders)"),r("OutboundLink")],1)])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/irisshaders",target:"_blank",rel:"noopener noreferrer"}},[e._v("Iris"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://irisshaders.net/download",target:"_blank",rel:"noopener noreferrer"}},[e._v("Iris Installer"),r("OutboundLink")],1)])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://optifine.net/home",target:"_blank",rel:"noopener noreferrer"}},[e._v("OptiFine"),r("OutboundLink")],1),e._v(" ("),r("strong",[e._v("Render Regions don't work")]),e._v(", everything else does) - Big note here. The only supported shaders are "),r("a",{attrs:{href:"https://www.mediafire.com/folder/cp87zpb3ichj7/Open4ES",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open4ES"),r("OutboundLink")],1),e._v(" for GL4ES. It works best with Adreno graphics (found in Qualcomm Snapdragon SoCs) and PowerVR graphics, with required patches (found in several low-end MediaTek SoCs). Mali GPUs are not supported. Below is a list of smartphones that are tested and works with Open4ES:")]),e._v(" "),r("ul",[r("li",[r("strong",[e._v("Xiaomi Poco F3")]),e._v(" (Snapdragon 870)")]),e._v(" "),r("li",[r("strong",[e._v("Xiaomi Poco X5 Pro")]),e._v(" (Snapdragon 778G)")]),e._v(" "),r("li",[r("strong",[e._v("Xiaomi Redmi Note 8")]),e._v(" (Snapdragon 665)")]),e._v(" "),r("li",[r("strong",[e._v("Oppo A53")]),e._v(" (Snapdragon 460)")])])])]),e._v(" "),r("h2",{attrs:{id:"skyblock-mods"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#skyblock-mods"}},[e._v("#")]),e._v(" Skyblock Mods")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://essential.gg/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Essential"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/Skytils/SkytilsMod",target:"_blank",rel:"noopener noreferrer"}},[e._v("Skytils"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://github.com/Skytils/SkytilsMod/releases/download/v1.3.0-pre5/Skytils-1.3.0-pre5.jar",target:"_blank",rel:"noopener noreferrer"}},[e._v("1.3.0-pre5"),r("OutboundLink")],1),e._v(" works)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/Sk1erLLC/Patcher",target:"_blank",rel:"noopener noreferrer"}},[e._v("Patcher"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://www.mediafire.com/file/7a3gubce278k338/Patcher-1.6.1_1.8.9.jar/file",target:"_blank",rel:"noopener noreferrer"}},[e._v("1.6.1"),r("OutboundLink")],1),e._v(" works)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/Moulberry/NotEnoughUpdates/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("NotEnoughUpdates"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://www.mediafire.com/file/u0l09df4riulu2w/NotEnoughUpdates-2.1.1-pre-1.jar/file",target:"_blank",rel:"noopener noreferrer"}},[e._v("2.1.1-pre-1"),r("OutboundLink")],1),e._v(" works)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://sbewebsite.appspot.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Skyblock Extras"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"input-related-mods"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#input-related-mods"}},[e._v("#")]),e._v(" Input-related Mods")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/TeamMidnightDust/MidnightControls/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("MidnightControls"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/controllable",target:"_blank",rel:"noopener noreferrer"}},[e._v("Controllable"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/mouse-tweaks",target:"_blank",rel:"noopener noreferrer"}},[e._v("MouseTweaks"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("almost all of them don't work because they aren't made with Android's inputs in mind")])]),e._v(" "),r("h2",{attrs:{id:"other-mods"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-mods"}},[e._v("#")]),e._v(" Other Mods")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/create",target:"_blank",rel:"noopener noreferrer"}},[e._v("Create"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/flywheel",target:"_blank",rel:"noopener noreferrer"}},[e._v("Flywheel"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/physics-mod",target:"_blank",rel:"noopener noreferrer"}},[e._v("Physics Mod"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/scannable",target:"_blank",rel:"noopener noreferrer"}},[e._v("Scannable"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(Works on 1.12)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/colormatic",target:"_blank",rel:"noopener noreferrer"}},[e._v("Colormatic"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ItemPhysic ("),r("strong",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/itemphysic-lite",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lite"),r("OutboundLink")],1),e._v(" works")]),e._v(")")]),e._v(" "),r("li",[e._v("RandomPatches "),r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/randompatches-forge",target:"_blank",rel:"noopener noreferrer"}},[r("strong",[e._v("(Forge)")]),r("OutboundLink")],1),e._v(" "),r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/randompatches-fabric",target:"_blank",rel:"noopener noreferrer"}},[r("strong",[e._v("(Fabric)")]),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/smooth-font",target:"_blank",rel:"noopener noreferrer"}},[e._v("Smooth Font"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/mrcrayfishs-gun-mod",target:"_blank",rel:"noopener noreferrer"}},[e._v("MrCrayfish's Gun Mod "),r("strong",[e._v("(1.16.5)")]),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://mcarchive.net/mods/applied-energistics?gvsn=",target:"_blank",rel:"noopener noreferrer"}},[e._v("Applied Energistics"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/applied-energistics-2",target:"_blank",rel:"noopener noreferrer"}},[e._v("Applied Energistics 2"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://forum.feed-the-beast.com/threads/zombe-mod-for-ftb-1-4-7.18012/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Zombe"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.replaymod.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ReplayMod"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(FFMPEG wrongly placed)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/dynamic-surroundings",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dynamic Surroundings"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(White textures on 1.12)")])]),e._v(" "),r("li",[e._v("Sex mod "),r("strong",[e._v("(thanks "),r("em",[e._v("@Adiixyz")]),e._v(")")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/minecraft-transport-simulator",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Vehicles"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(Forge Only)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/immersive-engineering",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Engineering"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(Works on 1.12)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/immersive-portals-mod",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Portals"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/immersive-railroading",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Railroading"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/immersive-engineering",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Engineering"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/discordrpc",target:"_blank",rel:"noopener noreferrer"}},[e._v("DiscordRPC"),r("OutboundLink")],1),e._v(" - "),r("strong",[e._v("Big note here. If your PvP/Hack Client crashes because of this, contact their developers for a fix.")])])]),e._v(" "),r("h2",{attrs:{id:"unsupported-clients"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#unsupported-clients"}},[e._v("#")]),e._v(" Unsupported Clients")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://batmod.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BatMod"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.labymod.net/en",target:"_blank",rel:"noopener noreferrer"}},[e._v("LabyMod"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://mysterymod.net/",target:"_blank",rel:"noopener noreferrer"}},[e._v("MysteryMod"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.lunarclient.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lunar Client"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v('(Obvious reason, ".exe")')])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://client.badlion.net/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Badlion Client"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(same as Lunar ^)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.salwyrr.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Salwyrr Client"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(how do you expect a launcher to run in a launcher?)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://meteorclient.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Meteor Client"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://qolhub.kieruken.dev/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pizza Client"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://qolhub.kieruken.dev/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cheeto Client"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/3arthqu4ke/3arthh4ck",target:"_blank",rel:"noopener noreferrer"}},[e._v("3arthh4ck"),r("OutboundLink")],1),e._v(" ("),r("a",{attrs:{href:"https://www.mediafire.com/file/n7ey56j5aued7r0/3arthh4ck-1.8.7-release.jar/file",target:"_blank",rel:"noopener noreferrer"}},[e._v("patched"),r("OutboundLink")],1),e._v(" version here)")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.aresclient.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Ares Client"),r("OutboundLink")],1)])]),e._v(" "),r("h1",{attrs:{id:"credits"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#credits"}},[e._v("#")]),e._v(" Credits")]),e._v(" "),r("ul",[r("li",[r("p",[e._v("https://github.com/Mathias-Boulay/ and all the people in issue "),r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher/issues/1948",target:"_blank",rel:"noopener noreferrer"}},[e._v("#1948"),r("OutboundLink")],1)])]),e._v(" "),r("li",[r("p",[e._v("https://github.com/ZenZenXDz")])]),e._v(" "),r("li",[r("p",[e._v("https://github.com/revoscode")])]),e._v(" "),r("li",[r("p",[e._v("https://github.com/GaucovyAero")])])])])}),[],!1,null,null,null);r.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{357:function(e,r,t){"use strict";t.r(r);var n=t(8),o=Object(n.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"unsupported-mods-and-clients"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#unsupported-mods-and-clients"}},[e._v("#")]),e._v(" Unsupported Mods and Clients")]),e._v(" "),r("p",[e._v("Not everything that works on PC works on PojavLauncher. Below is a non-exhaustive list of mods that "),r("strong",[e._v("may")]),e._v(" not work.")]),e._v(" "),r("h2",{attrs:{id:"performance-mods-shaders"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#performance-mods-shaders"}},[e._v("#")]),e._v(" Performance Mods + Shaders")]),e._v(" "),r("ul",[r("li",[r("p",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/sodium",target:"_blank",rel:"noopener noreferrer"}},[e._v("Sodium"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://www.mediafire.com/folder/n004fh6pxuxk8/Sodium_1.17%2B",target:"_blank",rel:"noopener noreferrer"}},[e._v("patch"),r("OutboundLink")],1),e._v(" for GL4ES)")])])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/rubidium/files",target:"_blank",rel:"noopener noreferrer"}},[e._v("Rubidium"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://www.mediafire.com/folder/jcyrf8l0osn4m/Rubidium_1.17%2B",target:"_blank",rel:"noopener noreferrer"}},[e._v("patch"),r("OutboundLink")],1),e._v(" for GL4ES)")])])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/chlorine",target:"_blank",rel:"noopener noreferrer"}},[e._v("Chlorine"),r("OutboundLink")],1)])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-mods/1286604-shaders-mod-updated-by-karyonix",target:"_blank",rel:"noopener noreferrer"}},[e._v("ShadersMod (GLSL Shaders)"),r("OutboundLink")],1)])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/irisshaders",target:"_blank",rel:"noopener noreferrer"}},[e._v("Iris"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://irisshaders.net/download",target:"_blank",rel:"noopener noreferrer"}},[e._v("Iris Installer"),r("OutboundLink")],1)])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://optifine.net/home",target:"_blank",rel:"noopener noreferrer"}},[e._v("OptiFine"),r("OutboundLink")],1),e._v(" ("),r("strong",[e._v("Render Regions don't work")]),e._v(", everything else does) - Big note here. The only supported shaders are "),r("a",{attrs:{href:"https://www.mediafire.com/folder/cp87zpb3ichj7/Open4ES",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open4ES"),r("OutboundLink")],1),e._v(" for GL4ES. It works best with Adreno graphics (found in Qualcomm Snapdragon SoCs) and PowerVR graphics, with required patches (found in several low-end MediaTek SoCs). Mali GPUs are not supported. Below is a list of smartphones that are tested and works with Open4ES:")]),e._v(" "),r("ul",[r("li",[r("strong",[e._v("Xiaomi Poco F3")]),e._v(" (Snapdragon 870)")]),e._v(" "),r("li",[r("strong",[e._v("Xiaomi Poco X5 Pro")]),e._v(" (Snapdragon 778G)")]),e._v(" "),r("li",[r("strong",[e._v("Xiaomi Redmi Note 8")]),e._v(" (Snapdragon 665)")]),e._v(" "),r("li",[r("strong",[e._v("Oppo A53")]),e._v(" (Snapdragon 460)")])])])]),e._v(" "),r("h2",{attrs:{id:"skyblock-mods"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#skyblock-mods"}},[e._v("#")]),e._v(" Skyblock Mods")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://essential.gg/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Essential"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/Skytils/SkytilsMod",target:"_blank",rel:"noopener noreferrer"}},[e._v("Skytils"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://github.com/Skytils/SkytilsMod/releases/download/v1.3.0-pre5/Skytils-1.3.0-pre5.jar",target:"_blank",rel:"noopener noreferrer"}},[e._v("1.3.0-pre5"),r("OutboundLink")],1),e._v(" works)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/Sk1erLLC/Patcher",target:"_blank",rel:"noopener noreferrer"}},[e._v("Patcher"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://www.mediafire.com/file/7a3gubce278k338/Patcher-1.6.1_1.8.9.jar/file",target:"_blank",rel:"noopener noreferrer"}},[e._v("1.6.1"),r("OutboundLink")],1),e._v(" works)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/Moulberry/NotEnoughUpdates/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("NotEnoughUpdates"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("("),r("a",{attrs:{href:"https://www.mediafire.com/file/u0l09df4riulu2w/NotEnoughUpdates-2.1.1-pre-1.jar/file",target:"_blank",rel:"noopener noreferrer"}},[e._v("2.1.1-pre-1"),r("OutboundLink")],1),e._v(" works)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://sbewebsite.appspot.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Skyblock Extras"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"input-related-mods"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#input-related-mods"}},[e._v("#")]),e._v(" Input-related Mods")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/TeamMidnightDust/MidnightControls/releases",target:"_blank",rel:"noopener noreferrer"}},[e._v("MidnightControls"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/controllable",target:"_blank",rel:"noopener noreferrer"}},[e._v("Controllable"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/mouse-tweaks",target:"_blank",rel:"noopener noreferrer"}},[e._v("MouseTweaks"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("almost all of them don't work because they aren't made with Android's inputs in mind")])]),e._v(" "),r("h2",{attrs:{id:"other-mods"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-mods"}},[e._v("#")]),e._v(" Other Mods")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/create",target:"_blank",rel:"noopener noreferrer"}},[e._v("Create"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/flywheel",target:"_blank",rel:"noopener noreferrer"}},[e._v("Flywheel"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/physics-mod",target:"_blank",rel:"noopener noreferrer"}},[e._v("Physics Mod"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/scannable",target:"_blank",rel:"noopener noreferrer"}},[e._v("Scannable"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(Works on 1.12)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/colormatic",target:"_blank",rel:"noopener noreferrer"}},[e._v("Colormatic"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("ItemPhysic ("),r("strong",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/itemphysic-lite",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lite"),r("OutboundLink")],1),e._v(" works")]),e._v(")")]),e._v(" "),r("li",[e._v("RandomPatches "),r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/randompatches-forge",target:"_blank",rel:"noopener noreferrer"}},[r("strong",[e._v("(Forge)")]),r("OutboundLink")],1),e._v(" "),r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/randompatches-fabric",target:"_blank",rel:"noopener noreferrer"}},[r("strong",[e._v("(Fabric)")]),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/smooth-font",target:"_blank",rel:"noopener noreferrer"}},[e._v("Smooth Font"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/mrcrayfishs-gun-mod",target:"_blank",rel:"noopener noreferrer"}},[e._v("MrCrayfish's Gun Mod "),r("strong",[e._v("(1.16.5)")]),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://mcarchive.net/mods/applied-energistics?gvsn=",target:"_blank",rel:"noopener noreferrer"}},[e._v("Applied Energistics"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/applied-energistics-2",target:"_blank",rel:"noopener noreferrer"}},[e._v("Applied Energistics 2"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://forum.feed-the-beast.com/threads/zombe-mod-for-ftb-1-4-7.18012/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Zombe"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.replaymod.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ReplayMod"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(FFMPEG wrongly placed)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/dynamic-surroundings",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dynamic Surroundings"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(White textures on 1.12)")])]),e._v(" "),r("li",[e._v("Sex mod "),r("strong",[e._v("(thanks "),r("em",[e._v("@Adiixyz")]),e._v(")")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/minecraft-transport-simulator",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Vehicles"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(Forge Only)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/immersive-engineering",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Engineering"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(Works on 1.12)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/immersive-portals-mod",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Portals"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/immersive-railroading",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Railroading"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/immersive-engineering",target:"_blank",rel:"noopener noreferrer"}},[e._v("Immersive Engineering"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.curseforge.com/minecraft/mc-mods/discordrpc",target:"_blank",rel:"noopener noreferrer"}},[e._v("DiscordRPC"),r("OutboundLink")],1),e._v(" - "),r("strong",[e._v("Big note here. If your PvP/Hack Client crashes because of this, contact their developers for a fix.")])])]),e._v(" "),r("h2",{attrs:{id:"unsupported-clients"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#unsupported-clients"}},[e._v("#")]),e._v(" Unsupported Clients")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://batmod.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BatMod"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.labymod.net/en",target:"_blank",rel:"noopener noreferrer"}},[e._v("LabyMod"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://mysterymod.net/",target:"_blank",rel:"noopener noreferrer"}},[e._v("MysteryMod"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.lunarclient.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lunar Client"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v('(Obvious reason, ".exe")')])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://client.badlion.net/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Badlion Client"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(same as Lunar ^)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.salwyrr.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Salwyrr Client"),r("OutboundLink")],1),e._v(" "),r("strong",[e._v("(how do you expect a launcher to run in a launcher?)")])]),e._v(" "),r("li",[r("a",{attrs:{href:"https://meteorclient.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Meteor Client"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://qolhub.kieruken.dev/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pizza Client"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://qolhub.kieruken.dev/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cheeto Client"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/3arthqu4ke/3arthh4ck",target:"_blank",rel:"noopener noreferrer"}},[e._v("3arthh4ck"),r("OutboundLink")],1),e._v(" ("),r("a",{attrs:{href:"https://www.mediafire.com/file/n7ey56j5aued7r0/3arthh4ck-1.8.7-release.jar/file",target:"_blank",rel:"noopener noreferrer"}},[e._v("patched"),r("OutboundLink")],1),e._v(" version here)")]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.aresclient.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Ares Client"),r("OutboundLink")],1)])]),e._v(" "),r("h1",{attrs:{id:"credits"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#credits"}},[e._v("#")]),e._v(" Credits")]),e._v(" "),r("ul",[r("li",[r("p",[e._v("https://github.com/Mathias-Boulay/ and all the people in issue "),r("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher/issues/1948",target:"_blank",rel:"noopener noreferrer"}},[e._v("#1948"),r("OutboundLink")],1)])]),e._v(" "),r("li",[r("p",[e._v("https://github.com/ZenZenXDz")])]),e._v(" "),r("li",[r("p",[e._v("https://github.com/revoscode")])]),e._v(" "),r("li",[r("p",[e._v("https://github.com/GaucovyAero")])])])])}),[],!1,null,null,null);r.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/41.6e1744cd.js b/assets/js/53.4f87c9f3.js similarity index 54% rename from assets/js/41.6e1744cd.js rename to assets/js/53.4f87c9f3.js index db6fef34..8c03231f 100644 --- a/assets/js/41.6e1744cd.js +++ b/assets/js/53.4f87c9f3.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{336:function(t,n,s){"use strict";s.r(n);var e=s(7),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{355:function(t,n,s){"use strict";s.r(n);var e=s(8),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/39.4e25d460.js b/assets/js/54.e2fffb94.js similarity index 95% rename from assets/js/39.4e25d460.js rename to assets/js/54.e2fffb94.js index fd0fc470..dfedd7c1 100644 --- a/assets/js/39.4e25d460.js +++ b/assets/js/54.e2fffb94.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{334:function(t,e,i){"use strict";i.r(e);var a=i(7),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"optimizing-the-game"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#optimizing-the-game"}},[t._v("#")]),t._v(" Optimizing the game")]),t._v(" "),e("p",[t._v("There are lots of ways to optimize your Java Edition experience if it's being slow for you; or your device is just bad in general. From mods like OptiFine and Sodium to more complex stuff like JVM arguments, we'll cover all of them here.")]),t._v(" "),e("h2",{attrs:{id:"optifine"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#optifine"}},[t._v("#")]),t._v(" OptiFine")]),t._v(" "),e("p",[t._v("OptiFine, previously known as Optimine and OptiFog; is a Minecraft modification created by sp614x, Insecs, Payton147 and lacuravivid in which the development began on December 22, 2010; was a modification originally created about pushing the fog away but also other features; like FPS Boost, Occlussion Culling, Hidden Geometry removal, Texture Mipmaping and Chunk Loading optimizations in the first development/beta versions of Minecraft")]),t._v(" "),e("h3",{attrs:{id:"getting-and-installing-optifine"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#getting-and-installing-optifine"}},[t._v("#")]),t._v(" Getting (and installing) OptiFine")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("Go to the official OptiFine website; "),e("a",{attrs:{href:"https://optifine.net",target:"_blank",rel:"noopener noreferrer"}},[t._v("optifine.net"),e("OutboundLink")],1),t._v(".\n"),e("img",{attrs:{src:"https://media.discordapp.net/attachments/955349865758601266/1035479281960243230/Screenshot_2022-10-28_17-00-12.png",alt:"websiteIMG"}})])]),t._v(" "),e("li",[e("p",[t._v("Depending on what Minecraft version you mainly use, get the specific OptiFine for it. Let's say; I play 1.12.2, so I'll get the latest 1.12.2 OptiFine available.\n"),e("img",{attrs:{src:"https://media.discordapp.net/attachments/955349865758601266/1035479282627137576/Screenshot_2022-10-28_17-03-03.png",alt:"1.12.2OFSc"}})])])]),t._v(" "),e("h2",{attrs:{id:"sodium"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#sodium"}},[t._v("#")]),t._v(" Sodium")]),t._v(" "),e("h2",{attrs:{id:"optimizing-modpacks"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#optimizing-modpacks"}},[t._v("#")]),t._v(' "Optimizing" ModPacks')]),t._v(" "),e("h2",{attrs:{id:"jvm-arguments"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#jvm-arguments"}},[t._v("#")]),t._v(" JVM Arguments")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{356:function(t,e,i){"use strict";i.r(e);var a=i(8),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"optimizing-the-game"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#optimizing-the-game"}},[t._v("#")]),t._v(" Optimizing the game")]),t._v(" "),e("p",[t._v("There are lots of ways to optimize your Java Edition experience if it's being slow for you; or your device is just bad in general. From mods like OptiFine and Sodium to more complex stuff like JVM arguments, we'll cover all of them here.")]),t._v(" "),e("h2",{attrs:{id:"optifine"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#optifine"}},[t._v("#")]),t._v(" OptiFine")]),t._v(" "),e("p",[t._v("OptiFine, previously known as Optimine and OptiFog; is a Minecraft modification created by sp614x, Insecs, Payton147 and lacuravivid in which the development began on December 22, 2010; was a modification originally created about pushing the fog away but also other features; like FPS Boost, Occlussion Culling, Hidden Geometry removal, Texture Mipmaping and Chunk Loading optimizations in the first development/beta versions of Minecraft")]),t._v(" "),e("h3",{attrs:{id:"getting-and-installing-optifine"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#getting-and-installing-optifine"}},[t._v("#")]),t._v(" Getting (and installing) OptiFine")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("Go to the official OptiFine website; "),e("a",{attrs:{href:"https://optifine.net",target:"_blank",rel:"noopener noreferrer"}},[t._v("optifine.net"),e("OutboundLink")],1),t._v(".\n"),e("img",{attrs:{src:"https://media.discordapp.net/attachments/955349865758601266/1035479281960243230/Screenshot_2022-10-28_17-00-12.png",alt:"websiteIMG"}})])]),t._v(" "),e("li",[e("p",[t._v("Depending on what Minecraft version you mainly use, get the specific OptiFine for it. Let's say; I play 1.12.2, so I'll get the latest 1.12.2 OptiFine available.\n"),e("img",{attrs:{src:"https://media.discordapp.net/attachments/955349865758601266/1035479282627137576/Screenshot_2022-10-28_17-03-03.png",alt:"1.12.2OFSc"}})])])]),t._v(" "),e("h2",{attrs:{id:"sodium"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#sodium"}},[t._v("#")]),t._v(" Sodium")]),t._v(" "),e("h2",{attrs:{id:"optimizing-modpacks"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#optimizing-modpacks"}},[t._v("#")]),t._v(' "Optimizing" ModPacks')]),t._v(" "),e("h2",{attrs:{id:"jvm-arguments"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#jvm-arguments"}},[t._v("#")]),t._v(" JVM Arguments")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/40.e994791b.js b/assets/js/55.da1955d1.js similarity index 90% rename from assets/js/40.e994791b.js rename to assets/js/55.da1955d1.js index d7456c29..edb34f47 100644 --- a/assets/js/40.e994791b.js +++ b/assets/js/55.da1955d1.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{335:function(e,r,t){"use strict";t.r(r);var a=t(7),o=Object(a.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"there-was-a-problem-while-parsing-the-package-error-while-installing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#there-was-a-problem-while-parsing-the-package-error-while-installing"}},[e._v("#")]),e._v(' "There was a problem while parsing the package" error while installing')]),e._v(" "),r("p",[e._v("Google Chrome may corrupt the installation of PojavLauncher. Instead of Chrome, use "),r("a",{attrs:{href:"https://play.google.com/store/apps/details?id=org.mozilla.firefox",target:"_blank",rel:"noopener noreferrer"}},[e._v("Firefox"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.brave.browser",target:"_blank",rel:"noopener noreferrer"}},[e._v("Brave"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Alternatively, you can use "),r("a",{attrs:{href:"https://github.com/Aefyr/SAI",target:"_blank",rel:"noopener noreferrer"}},[e._v("Split APKs Installer (SAI)"),r("OutboundLink")],1),e._v(" if you would like to check the error message. (Most default installers do not show the installation error message)")])])}),[],!1,null,null,null);r.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{359:function(e,r,t){"use strict";t.r(r);var a=t(8),o=Object(a.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"there-was-a-problem-while-parsing-the-package-error-while-installing"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#there-was-a-problem-while-parsing-the-package-error-while-installing"}},[e._v("#")]),e._v(' "There was a problem while parsing the package" error while installing')]),e._v(" "),r("p",[e._v("Google Chrome may corrupt the installation of PojavLauncher. Instead of Chrome, use "),r("a",{attrs:{href:"https://play.google.com/store/apps/details?id=org.mozilla.firefox",target:"_blank",rel:"noopener noreferrer"}},[e._v("Firefox"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.brave.browser",target:"_blank",rel:"noopener noreferrer"}},[e._v("Brave"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Alternatively, you can use "),r("a",{attrs:{href:"https://github.com/Aefyr/SAI",target:"_blank",rel:"noopener noreferrer"}},[e._v("Split APKs Installer (SAI)"),r("OutboundLink")],1),e._v(" if you would like to check the error message. (Most default installers do not show the installation error message)")])])}),[],!1,null,null,null);r.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/11.b35faf6d.js b/assets/js/56.6d004fc7.js similarity index 54% rename from assets/js/11.b35faf6d.js rename to assets/js/56.6d004fc7.js index 68560b66..6ee48ce0 100644 --- a/assets/js/11.b35faf6d.js +++ b/assets/js/56.6d004fc7.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{305:function(t,n,s){"use strict";s.r(n);var e=s(7),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{358:function(t,n,s){"use strict";s.r(n);var e=s(8),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/42.f0356c6c.js b/assets/js/57.8c8d3453.js similarity index 96% rename from assets/js/42.f0356c6c.js rename to assets/js/57.8c8d3453.js index 96e247bf..a68cbeb2 100644 --- a/assets/js/42.f0356c6c.js +++ b/assets/js/57.8c8d3453.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{337:function(t,e,o){"use strict";o.r(e);var a=o(7),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"app-not-installed"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#app-not-installed"}},[t._v("#")]),t._v(' "App not installed"')]),t._v(" "),e("p",[t._v("The error message looks like this:")]),t._v(" "),e("img",{attrs:{src:"https://media.discordapp.net/attachments/755410958100201472/1081249821907750974/image.png?width=575&height=146",alt:"Image"}}),t._v(" "),e("p",[t._v("Not sure why this happens, but it only happened to one dev build for VenomousSteam81.")]),t._v(" "),e("hr"),t._v(" "),e("h2",{attrs:{id:"install-with-pc-laptop"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#install-with-pc-laptop"}},[t._v("#")]),t._v(" Install with PC/Laptop")]),t._v(" "),e("p",[t._v("To fix, simply grab your PC/Laptop (unless you have Android 11 and above, continue to the next session), install "),e("a",{attrs:{href:"https://developer.android.com/studio/releases/platform-tools",target:"_blank",rel:"noopener noreferrer"}},[t._v("ADB"),e("OutboundLink")],1),t._v(" for your OS. Then, search up how to use adb for your OS. After figuring that out, go ahead and connect your phone to your PC.")]),t._v(" "),e("p",[t._v("Now, download the PojavLauncher build you downloaded on your phone (or copy the one off of your phone), do "),e("code",[t._v("adb pm install path/to/pojavlauncher/apk.apk")]),t._v(" (if that doesn't work and gives an error, use "),e("code",[t._v("adb shell pm install path/to/pojavlauncher/apk.apk")]),t._v("), and it should install. If not, please make an issue on the "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/pojavlauncherteam.github.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("wiki github"),e("OutboundLink")],1),t._v(", making sure to mention VenomousSteam81.")]),t._v(" "),e("hr"),t._v(" "),e("h2",{attrs:{id:"install-without-pc-laptop-android-11-and-newer-only"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#install-without-pc-laptop-android-11-and-newer-only"}},[t._v("#")]),t._v(" Install without PC/Laptop (Android 11 and newer only)")]),t._v(" "),e("p",[t._v("First, go to settings and enable developer options (not telling you how to do so), turn on wireless ADB, accept all the ADB stuff, "),e("a",{attrs:{href:"https://github.com/tytydraco/ladb",target:"_blank",rel:"noopener noreferrer"}},[t._v("then either download and build it yourself"),e("OutboundLink")],1),t._v(" with termux, buy the app from the "),e("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.draco.ladb",target:"_blank",rel:"noopener noreferrer"}},[t._v("play store"),e("OutboundLink")],1),t._v(", or go find some apk on the internet.")]),t._v(" "),e("p",[t._v("Next, download PojavLauncher from "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher/actions",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub Actions"),e("OutboundLink")],1),t._v(". Open LADB, accept the ADB connection, then type (or copy paste) "),e("code",[t._v("pm install path/to/pojavlauncher/apk.apk")]),t._v(". If that also doesn't work, please make an issue on the "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/pojavlauncherteam.github.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("wiki github"),e("OutboundLink")],1),t._v(", making sure to mention VenomousSteam81.")]),t._v(" "),e("p",[t._v("Thank you for your time!")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{360:function(t,e,o){"use strict";o.r(e);var a=o(8),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"app-not-installed"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#app-not-installed"}},[t._v("#")]),t._v(' "App not installed"')]),t._v(" "),e("p",[t._v("The error message looks like this:")]),t._v(" "),e("img",{attrs:{src:"https://media.discordapp.net/attachments/755410958100201472/1081249821907750974/image.png?width=575&height=146",alt:"Image"}}),t._v(" "),e("p",[t._v("Not sure why this happens, but it only happened to one dev build for VenomousSteam81.")]),t._v(" "),e("hr"),t._v(" "),e("h2",{attrs:{id:"install-with-pc-laptop"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#install-with-pc-laptop"}},[t._v("#")]),t._v(" Install with PC/Laptop")]),t._v(" "),e("p",[t._v("To fix, simply grab your PC/Laptop (unless you have Android 11 and above, continue to the next session), install "),e("a",{attrs:{href:"https://developer.android.com/studio/releases/platform-tools",target:"_blank",rel:"noopener noreferrer"}},[t._v("ADB"),e("OutboundLink")],1),t._v(" for your OS. Then, search up how to use adb for your OS. After figuring that out, go ahead and connect your phone to your PC.")]),t._v(" "),e("p",[t._v("Now, download the PojavLauncher build you downloaded on your phone (or copy the one off of your phone), do "),e("code",[t._v("adb pm install path/to/pojavlauncher/apk.apk")]),t._v(" (if that doesn't work and gives an error, use "),e("code",[t._v("adb shell pm install path/to/pojavlauncher/apk.apk")]),t._v("), and it should install. If not, please make an issue on the "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/pojavlauncherteam.github.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("wiki github"),e("OutboundLink")],1),t._v(", making sure to mention VenomousSteam81.")]),t._v(" "),e("hr"),t._v(" "),e("h2",{attrs:{id:"install-without-pc-laptop-android-11-and-newer-only"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#install-without-pc-laptop-android-11-and-newer-only"}},[t._v("#")]),t._v(" Install without PC/Laptop (Android 11 and newer only)")]),t._v(" "),e("p",[t._v("First, go to settings and enable developer options (not telling you how to do so), turn on wireless ADB, accept all the ADB stuff, "),e("a",{attrs:{href:"https://github.com/tytydraco/ladb",target:"_blank",rel:"noopener noreferrer"}},[t._v("then either download and build it yourself"),e("OutboundLink")],1),t._v(" with termux, buy the app from the "),e("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.draco.ladb",target:"_blank",rel:"noopener noreferrer"}},[t._v("play store"),e("OutboundLink")],1),t._v(", or go find some apk on the internet.")]),t._v(" "),e("p",[t._v("Next, download PojavLauncher from "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher/actions",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub Actions"),e("OutboundLink")],1),t._v(". Open LADB, accept the ADB connection, then type (or copy paste) "),e("code",[t._v("pm install path/to/pojavlauncher/apk.apk")]),t._v(". If that also doesn't work, please make an issue on the "),e("a",{attrs:{href:"https://github.com/PojavLauncherTeam/pojavlauncherteam.github.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("wiki github"),e("OutboundLink")],1),t._v(", making sure to mention VenomousSteam81.")]),t._v(" "),e("p",[t._v("Thank you for your time!")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/43.088dff05.js b/assets/js/58.00fdb99e.js similarity index 96% rename from assets/js/43.088dff05.js rename to assets/js/58.00fdb99e.js index def950b7..abd966b5 100644 --- a/assets/js/43.088dff05.js +++ b/assets/js/58.00fdb99e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{338:function(e,r,n){"use strict";n.r(r);var s=n(7),a=Object(s.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"renderers"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#renderers"}},[e._v("#")]),e._v(" Renderers")]),e._v(" "),r("p",[e._v("Minecraft runs on OpenGL, and mobile devices generally only support OpenGL ES (GLES). And since Minecraft won't run on GLES, we have to use renderers as compatibility layers between OpenGL ES and OpenGL.")]),e._v(" "),r("h2",{attrs:{id:"holy-gl4es"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#holy-gl4es"}},[e._v("#")]),e._v(" Holy GL4ES")]),e._v(" "),r("ul",[r("li",[e._v("Designed for performance, Holy GL4ES is the default renderer in PojavLauncher and should be used in almost all scenrarios.")]),e._v(" "),r("li",[e._v("Supports OpenGL 2.1 and has shader converting capabilities, thus makes up for about 1/8 of the OpenGL 3.x standard.")]),e._v(" "),r("li",[e._v("Works on all versions of vanilla Minecraft.")])]),e._v(" "),r("h3",{attrs:{id:"a-screenshot-of-holy-gl4es-running-minecraft-1-19-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-screenshot-of-holy-gl4es-running-minecraft-1-19-4"}},[e._v("#")]),e._v(" A screenshot of Holy GL4ES running Minecraft 1.19.4")]),e._v(" "),r("p",[r("img",{attrs:{src:"https://cdn.discordapp.com/attachments/967462820012773466/1094267417980579890/Screenshot_2023-04-08-16-17-56-860_net.kdt.pojavlaunch.debug.jpg",alt:"holygl4es"}})]),e._v(" "),r("h2",{attrs:{id:"angle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#angle"}},[e._v("#")]),e._v(" ANGLE")]),e._v(" "),r("ul",[r("li",[e._v("A bit slower than Holy GL4ES, runs on Vulkan. Should be used only in specific cases, where one can't load a server resource pack or a mod does not run because of missing OpenGL extensions.")]),e._v(" "),r("li",[e._v("Supports OpenGL 3.2 only.")]),e._v(" "),r("li",[e._v("Only works on Minecraft 1.17+")])]),e._v(" "),r("h3",{attrs:{id:"a-screenshot-of-angle-running-minecraft-1-19-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-screenshot-of-angle-running-minecraft-1-19-4"}},[e._v("#")]),e._v(" A screenshot of ANGLE running Minecraft 1.19.4")]),e._v(" "),r("p",[r("img",{attrs:{src:"https://cdn.discordapp.com/attachments/967462820012773466/1094267418236428288/Screenshot_2023-04-08-16-19-39-025_net.kdt.pojavlaunch.debug.jpg",alt:"angle"}})]),e._v(" "),r("h2",{attrs:{id:"virglrenderer"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#virglrenderer"}},[e._v("#")]),e._v(" virglrenderer")]),e._v(" "),r("ul",[r("li",[e._v("Very slow, will soon be removed. It's only use cases are mods that don't run because of missing OpenGL extensions and running shaders.")]),e._v(" "),r("li",[e._v("Supports OpenGL 4.3.")]),e._v(" "),r("li",[e._v("Works on Minecraft 1.7+, can be extremely buggy.")])]),e._v(" "),r("h3",{attrs:{id:"a-screenshot-of-virglrenderer-running-minecraft-1-12-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-screenshot-of-virglrenderer-running-minecraft-1-12-2"}},[e._v("#")]),e._v(" A screenshot of virglrenderer running Minecraft 1.12.2")]),e._v(" "),r("p",[r("img",{attrs:{src:"https://cdn.discordapp.com/attachments/967462820012773466/1094267418517454858/Screenshot_2023-04-08-16-27-08-363_net.kdt.pojavlaunch.debug.jpg",alt:"virglrenderer"}})])])}),[],!1,null,null,null);r.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{362:function(e,r,n){"use strict";n.r(r);var s=n(8),a=Object(s.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"renderers"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#renderers"}},[e._v("#")]),e._v(" Renderers")]),e._v(" "),r("p",[e._v("Minecraft runs on OpenGL, and mobile devices generally only support OpenGL ES (GLES). And since Minecraft won't run on GLES, we have to use renderers as compatibility layers between OpenGL ES and OpenGL.")]),e._v(" "),r("h2",{attrs:{id:"holy-gl4es"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#holy-gl4es"}},[e._v("#")]),e._v(" Holy GL4ES")]),e._v(" "),r("ul",[r("li",[e._v("Designed for performance, Holy GL4ES is the default renderer in PojavLauncher and should be used in almost all scenrarios.")]),e._v(" "),r("li",[e._v("Supports OpenGL 2.1 and has shader converting capabilities, thus makes up for about 1/8 of the OpenGL 3.x standard.")]),e._v(" "),r("li",[e._v("Works on all versions of vanilla Minecraft.")])]),e._v(" "),r("h3",{attrs:{id:"a-screenshot-of-holy-gl4es-running-minecraft-1-19-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-screenshot-of-holy-gl4es-running-minecraft-1-19-4"}},[e._v("#")]),e._v(" A screenshot of Holy GL4ES running Minecraft 1.19.4")]),e._v(" "),r("p",[r("img",{attrs:{src:"https://cdn.discordapp.com/attachments/967462820012773466/1094267417980579890/Screenshot_2023-04-08-16-17-56-860_net.kdt.pojavlaunch.debug.jpg",alt:"holygl4es"}})]),e._v(" "),r("h2",{attrs:{id:"angle"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#angle"}},[e._v("#")]),e._v(" ANGLE")]),e._v(" "),r("ul",[r("li",[e._v("A bit slower than Holy GL4ES, runs on Vulkan. Should be used only in specific cases, where one can't load a server resource pack or a mod does not run because of missing OpenGL extensions.")]),e._v(" "),r("li",[e._v("Supports OpenGL 3.2 only.")]),e._v(" "),r("li",[e._v("Only works on Minecraft 1.17+")])]),e._v(" "),r("h3",{attrs:{id:"a-screenshot-of-angle-running-minecraft-1-19-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-screenshot-of-angle-running-minecraft-1-19-4"}},[e._v("#")]),e._v(" A screenshot of ANGLE running Minecraft 1.19.4")]),e._v(" "),r("p",[r("img",{attrs:{src:"https://cdn.discordapp.com/attachments/967462820012773466/1094267418236428288/Screenshot_2023-04-08-16-19-39-025_net.kdt.pojavlaunch.debug.jpg",alt:"angle"}})]),e._v(" "),r("h2",{attrs:{id:"virglrenderer"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#virglrenderer"}},[e._v("#")]),e._v(" virglrenderer")]),e._v(" "),r("ul",[r("li",[e._v("Very slow, will soon be removed. It's only use cases are mods that don't run because of missing OpenGL extensions and running shaders.")]),e._v(" "),r("li",[e._v("Supports OpenGL 4.3.")]),e._v(" "),r("li",[e._v("Works on Minecraft 1.7+, can be extremely buggy.")])]),e._v(" "),r("h3",{attrs:{id:"a-screenshot-of-virglrenderer-running-minecraft-1-12-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-screenshot-of-virglrenderer-running-minecraft-1-12-2"}},[e._v("#")]),e._v(" A screenshot of virglrenderer running Minecraft 1.12.2")]),e._v(" "),r("p",[r("img",{attrs:{src:"https://cdn.discordapp.com/attachments/967462820012773466/1094267418517454858/Screenshot_2023-04-08-16-27-08-363_net.kdt.pojavlaunch.debug.jpg",alt:"virglrenderer"}})])])}),[],!1,null,null,null);r.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/44.83fe3c2c.js b/assets/js/59.dd1078a6.js similarity index 73% rename from assets/js/44.83fe3c2c.js rename to assets/js/59.dd1078a6.js index e9271433..df07ed44 100644 --- a/assets/js/44.83fe3c2c.js +++ b/assets/js/59.dd1078a6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{339:function(a,t,r){"use strict";r.r(t);var e=r(7),o=Object(e.a)({},(function(){var a=this._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[a("h1",{attrs:{id:"the-road-ahead-for-pojavlauncher"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#the-road-ahead-for-pojavlauncher"}},[this._v("#")]),this._v(" The road ahead for PojavLauncher")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{361:function(a,t,r){"use strict";r.r(t);var e=r(8),o=Object(e.a)({},(function(){var a=this._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[a("h1",{attrs:{id:"the-road-ahead-for-pojavlauncher"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#the-road-ahead-for-pojavlauncher"}},[this._v("#")]),this._v(" The road ahead for PojavLauncher")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/7.6255578e.js b/assets/js/6.ee0a4a79.js similarity index 60% rename from assets/js/7.6255578e.js rename to assets/js/6.ee0a4a79.js index 984bfcf9..91719fd3 100644 --- a/assets/js/7.6255578e.js +++ b/assets/js/6.ee0a4a79.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{264:function(t,e,n){},295:function(t,e,n){"use strict";n(264)},353:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(295),n(7)),l=Object(p.a)(i,void 0,void 0,!1,null,"68228156",null);e.default=l.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{288:function(t,e,n){},306:function(t,e,n){"use strict";n(288)},328:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(306),n(8)),l=Object(p.a)(i,void 0,void 0,!1,null,"68228156",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/45.b00aa9aa.js b/assets/js/60.11938885.js similarity index 91% rename from assets/js/45.b00aa9aa.js rename to assets/js/60.11938885.js index 5bf753d1..0ce7a94f 100644 --- a/assets/js/45.b00aa9aa.js +++ b/assets/js/60.11938885.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{340:function(e,t,r){"use strict";r.r(t);var s=r(7),n=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"shaders"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#shaders"}},[e._v("#")]),e._v(" Shaders")]),e._v(" "),t("h3",{attrs:{id:"open4es"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#open4es"}},[e._v("#")]),e._v(" Open4ES")]),e._v(" "),t("ul",[t("li",[e._v("Famous shaders (e.g. SEUS), which are converted to work with GL4ES.")]),e._v(" "),t("li",[e._v("Open4ES GitHub repository "),t("a",{attrs:{href:"https://github.com/Open4Es/Open4Es-Shader-Android",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("Open4ES Old Versions Archive "),t("a",{attrs:{href:"https://www.mediafire.com/folder/cp87zpb3ichj7/Open4ES",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("h3",{attrs:{id:"screenshot-of-open4es-chocapic-on-minecraft-1-8-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#screenshot-of-open4es-chocapic-on-minecraft-1-8-9"}},[e._v("#")]),e._v(" Screenshot of Open4ES-Chocapic on Minecraft 1.8.9")]),e._v(" "),t("p",[t("img",{attrs:{src:"https://cdn.discordapp.com/attachments/967462820012773466/1094273064096764024/Screenshot_2023-04-08-16-49-38-257_net.kdt.pojavlaunch.debug.jpg",alt:"Open4ES"}})])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[60],{363:function(e,t,r){"use strict";r.r(t);var s=r(8),n=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"shaders"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#shaders"}},[e._v("#")]),e._v(" Shaders")]),e._v(" "),t("h3",{attrs:{id:"open4es"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#open4es"}},[e._v("#")]),e._v(" Open4ES")]),e._v(" "),t("ul",[t("li",[e._v("Famous shaders (e.g. SEUS), which are converted to work with GL4ES.")]),e._v(" "),t("li",[e._v("Open4ES GitHub repository "),t("a",{attrs:{href:"https://github.com/Open4Es/Open4Es-Shader-Android",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("Open4ES Old Versions Archive "),t("a",{attrs:{href:"https://www.mediafire.com/folder/cp87zpb3ichj7/Open4ES",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("h3",{attrs:{id:"screenshot-of-open4es-chocapic-on-minecraft-1-8-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#screenshot-of-open4es-chocapic-on-minecraft-1-8-9"}},[e._v("#")]),e._v(" Screenshot of Open4ES-Chocapic on Minecraft 1.8.9")]),e._v(" "),t("p",[t("img",{attrs:{src:"https://cdn.discordapp.com/attachments/967462820012773466/1094273064096764024/Screenshot_2023-04-08-16-49-38-257_net.kdt.pojavlaunch.debug.jpg",alt:"Open4ES"}})])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/61.fb894c8f.js b/assets/js/61.fb894c8f.js new file mode 100644 index 00000000..1cbc3fbc --- /dev/null +++ b/assets/js/61.fb894c8f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{364:function(t,o,n){"use strict";n.r(o);var i=n(8),s=Object(i.a)({},(function(){var t=this,o=t._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"signing-in"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#signing-in"}},[t._v("#")]),t._v(" Signing in")]),t._v(" "),o("p",[t._v("PojavLauncher supports multiple types of accounts to sign in:")]),t._v(" "),o("ul",[o("li",[t._v("Microsoft Accounts(*)")]),t._v(" "),o("li",[t._v("Local Accounts(^)")])]),t._v(" "),o("p",[t._v("(*) Microsoft Accounts only work if the Microsoft Account has Minecraft: Java Edition purchased.")]),t._v(" "),o("p",[t._v("(^) Local Accounts only work if you have already logged into a Microsoft Account with Minecraft: Java Edition purchased.")])])}),[],!1,null,null,null);o.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/47.487e7264.js b/assets/js/62.192fdf9c.js similarity index 85% rename from assets/js/47.487e7264.js rename to assets/js/62.192fdf9c.js index 0eb456e3..81e5c328 100644 --- a/assets/js/47.487e7264.js +++ b/assets/js/62.192fdf9c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{342:function(n,e,o){"use strict";o.r(e);var t=o(7),i=Object(t.a)({},(function(){var n=this._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[n("h1",{attrs:{id:"bringing-pojavlauncher-to-unjailbroken-ios"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#bringing-pojavlauncher-to-unjailbroken-ios"}},[this._v("#")]),this._v(" Bringing PojavLauncher to unjailbroken iOS")]),this._v(" "),n("p",[this._v("After many months working on PojavLauncher for unjailbroken devices, we're so excited to announce PojavLauncher 2.1--the first official build of PojavLauncher to support unjailbroken iDevices! This means that you can enjoy PojavLauncher while still keeping your device secure and on the latest versions of iOS!")])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{367:function(n,e,o){"use strict";o.r(e);var t=o(8),i=Object(t.a)({},(function(){var n=this._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[n("h1",{attrs:{id:"bringing-pojavlauncher-to-unjailbroken-ios"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#bringing-pojavlauncher-to-unjailbroken-ios"}},[this._v("#")]),this._v(" Bringing PojavLauncher to unjailbroken iOS")]),this._v(" "),n("p",[this._v("After many months working on PojavLauncher for unjailbroken devices, we're so excited to announce PojavLauncher 2.1--the first official build of PojavLauncher to support unjailbroken iDevices! This means that you can enjoy PojavLauncher while still keeping your device secure and on the latest versions of iOS!")])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/63.28881853.js b/assets/js/63.28881853.js new file mode 100644 index 00000000..36079732 --- /dev/null +++ b/assets/js/63.28881853.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{365:function(t,n,s){"use strict";s.r(n);var e=s(8),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/49.56b20346.js b/assets/js/64.2e1ed2e4.js similarity index 96% rename from assets/js/49.56b20346.js rename to assets/js/64.2e1ed2e4.js index 33f772a6..a8b60bc1 100644 --- a/assets/js/49.56b20346.js +++ b/assets/js/64.2e1ed2e4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{344:function(e,t,o){"use strict";o.r(t);var i=o(7),r=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"supported-devices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#supported-devices"}},[e._v("#")]),e._v(" Supported Devices")]),e._v(" "),t("h2",{attrs:{id:"android"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[e._v("#")]),e._v(" Android")]),e._v(" "),t("p",[e._v("Minimum requirements:")]),e._v(" "),t("ul",[t("li",[e._v("32-bit (aarch32 or 32-bit/i386) CPU")]),e._v(" "),t("li",[e._v("Android 5.0")]),e._v(" "),t("li",[e._v("1 gigabyte of RAM")])]),e._v(" "),t("p",[e._v("Recommended requirements:")]),e._v(" "),t("ul",[t("li",[e._v("64-bit (aarch64 or 64-bit/x86_64) CPU")]),e._v(" "),t("li",[e._v("Android 8.0")]),e._v(" "),t("li",[e._v("4 gigabytes of RAM")]),e._v(" "),t("li",[e._v('GPU with "Vulkan" API (support for '),t("code",[e._v("vulkanmod")]),e._v(" and/or "),t("code",[e._v("v3_zink")]),e._v(")")])]),e._v(" "),t("h3",{attrs:{id:"chromeos"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#chromeos"}},[e._v("#")]),e._v(" ChromeOS")]),e._v(" "),t("p",[e._v("Chromebooks have very similar system requirements, however Android version does not matter, as long as you can install Android apps.")]),e._v(" "),t("h3",{attrs:{id:"linux"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#linux"}},[e._v("#")]),e._v(" Linux")]),e._v(" "),t("p",[e._v("It is not recommended to run PojavLauncher on Linux. Though, you can try sideloading the app on your distribution by using Anbox or Waydroid. We won't provide support for it though.")]),e._v(" "),t("ul",[t("li",[e._v("Installing Anbox\n"),t("ul",[t("li",[e._v("on Ubuntu ("),t("code",[e._v("snap")]),e._v(" is required);")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("snap install --devmode --beta anbox\n")])])]),e._v("You'll have to install necessary kernel modules though, so check the official "),t("a",{attrs:{href:"https://docs.anbox.io/userguide/install_kernel_modules.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Anbox wiki"),t("OutboundLink")],1),e._v(" about it.\n"),t("ul",[t("li",[t("p",[e._v("on Arch-based (Manjaro, Endeavor, Garuda) distributions;")]),e._v(" "),t("p",[e._v("Check the official "),t("a",{attrs:{href:"https://wiki.archlinux.org/title/Anbox#:~:text=Project%20provides%20OpenGApps.-,Install%20Anbox,steps%20done%20to%20use%20Anbox!",target:"_blank",rel:"noopener noreferrer"}},[e._v("Arch wiki"),t("OutboundLink")],1),e._v(" about it, as it is a loooong tutorial to be included here.")])])])])]),e._v(" "),t("h2",{attrs:{id:"ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[e._v("#")]),e._v(" iOS")]),e._v(" "),t("p",[e._v("Minimum requirements:")]),e._v(" "),t("ul",[t("li",[e._v("Apple A8 SoC\n"),t("ul",[t("li",[e._v("The Apple A7 SoC is losing support in PojavLauncher 2.2.")])])]),e._v(" "),t("li",[e._v("iOS 12")]),e._v(" "),t("li",[e._v("1 gigabyte of RAM")])]),e._v(" "),t("p",[e._v("Recommended requirements:")]),e._v(" "),t("ul",[t("li",[e._v("Apple A10/A10X Fusion SoC")]),e._v(" "),t("li",[e._v("iOS 14")]),e._v(" "),t("li",[e._v("2 gigabytes of RAM")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{366:function(e,t,o){"use strict";o.r(t);var i=o(8),r=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"supported-devices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#supported-devices"}},[e._v("#")]),e._v(" Supported Devices")]),e._v(" "),t("h2",{attrs:{id:"android"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[e._v("#")]),e._v(" Android")]),e._v(" "),t("p",[e._v("Minimum requirements:")]),e._v(" "),t("ul",[t("li",[e._v("32-bit (aarch32 or 32-bit/i386) CPU")]),e._v(" "),t("li",[e._v("Android 5.0")]),e._v(" "),t("li",[e._v("1 gigabyte of RAM")])]),e._v(" "),t("p",[e._v("Recommended requirements:")]),e._v(" "),t("ul",[t("li",[e._v("64-bit (aarch64 or 64-bit/x86_64) CPU")]),e._v(" "),t("li",[e._v("Android 8.0")]),e._v(" "),t("li",[e._v("4 gigabytes of RAM")]),e._v(" "),t("li",[e._v('GPU with "Vulkan" API (support for '),t("code",[e._v("vulkanmod")]),e._v(" and/or "),t("code",[e._v("v3_zink")]),e._v(")")])]),e._v(" "),t("h3",{attrs:{id:"chromeos"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#chromeos"}},[e._v("#")]),e._v(" ChromeOS")]),e._v(" "),t("p",[e._v("Chromebooks have very similar system requirements, however Android version does not matter, as long as you can install Android apps.")]),e._v(" "),t("h3",{attrs:{id:"linux"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#linux"}},[e._v("#")]),e._v(" Linux")]),e._v(" "),t("p",[e._v("It is not recommended to run PojavLauncher on Linux. Though, you can try sideloading the app on your distribution by using Anbox or Waydroid. We won't provide support for it though.")]),e._v(" "),t("ul",[t("li",[e._v("Installing Anbox\n"),t("ul",[t("li",[e._v("on Ubuntu ("),t("code",[e._v("snap")]),e._v(" is required);")])]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("snap install --devmode --beta anbox\n")])])]),e._v("You'll have to install necessary kernel modules though, so check the official "),t("a",{attrs:{href:"https://docs.anbox.io/userguide/install_kernel_modules.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Anbox wiki"),t("OutboundLink")],1),e._v(" about it.\n"),t("ul",[t("li",[t("p",[e._v("on Arch-based (Manjaro, Endeavor, Garuda) distributions;")]),e._v(" "),t("p",[e._v("Check the official "),t("a",{attrs:{href:"https://wiki.archlinux.org/title/Anbox#:~:text=Project%20provides%20OpenGApps.-,Install%20Anbox,steps%20done%20to%20use%20Anbox!",target:"_blank",rel:"noopener noreferrer"}},[e._v("Arch wiki"),t("OutboundLink")],1),e._v(" about it, as it is a loooong tutorial to be included here.")])])])])]),e._v(" "),t("h2",{attrs:{id:"ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[e._v("#")]),e._v(" iOS")]),e._v(" "),t("p",[e._v("Minimum requirements:")]),e._v(" "),t("ul",[t("li",[e._v("Apple A8 SoC\n"),t("ul",[t("li",[e._v("The Apple A7 SoC is losing support in PojavLauncher 2.2.")])])]),e._v(" "),t("li",[e._v("iOS 12")]),e._v(" "),t("li",[e._v("1 gigabyte of RAM")])]),e._v(" "),t("p",[e._v("Recommended requirements:")]),e._v(" "),t("ul",[t("li",[e._v("Apple A10/A10X Fusion SoC")]),e._v(" "),t("li",[e._v("iOS 14")]),e._v(" "),t("li",[e._v("2 gigabytes of RAM")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/50.45f07609.js b/assets/js/65.3dbb72f8.js similarity index 72% rename from assets/js/50.45f07609.js rename to assets/js/65.3dbb72f8.js index cf843bc1..8d81a82b 100644 --- a/assets/js/50.45f07609.js +++ b/assets/js/65.3dbb72f8.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{345:function(t,o,s){"use strict";s.r(o);var n=s(7),i=Object(n.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"openjdk-8-coming-to-ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#openjdk-8-coming-to-ios"}},[this._v("#")]),this._v(" OpenJDK 8, coming to iOS")])])}),[],!1,null,null,null);o.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[65],{368:function(t,o,s){"use strict";s.r(o);var n=s(8),i=Object(n.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"openjdk-8-coming-to-ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#openjdk-8-coming-to-ios"}},[this._v("#")]),this._v(" OpenJDK 8, coming to iOS")])])}),[],!1,null,null,null);o.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/51.6ee9d58f.js b/assets/js/66.1a846f2e.js similarity index 98% rename from assets/js/51.6ee9d58f.js rename to assets/js/66.1a846f2e.js index ab888c66..3fe6a296 100644 --- a/assets/js/51.6ee9d58f.js +++ b/assets/js/66.1a846f2e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{346:function(e,t,o){"use strict";o.r(t);var r=o(7),a=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"supporting-1-17-and-beyond"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#supporting-1-17-and-beyond"}},[e._v("#")]),e._v(" Supporting 1.17 and beyond")]),e._v(" "),t("p",[e._v("After many days and nights spent working on a temporary solution (and trust me, this is definitely temporary), we've gotten something done: support for 1.17 is here. With backporting work done by artdeell and Java 17 ported by DuyKhanhTran, 1.17 is usable and playable with gl4es. This also applies with 1.17.1 and 1.18 experimental snapshots.")]),e._v(" "),t("p",[e._v("Here's how to get it to work. You need to have a "),t("strong",[e._v("GitHub account")]),e._v(" in order to download the builds and JRE. "),t("s",[e._v("Regardless of your platform, you'll need to download "),t("a",{attrs:{href:"https://cdn.discordapp.com/attachments/724164160761626624/860864619350065162/assets-v0.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("this resource pack"),t("OutboundLink")],1),e._v(".")]),e._v(" The resource pack seems to be no longer required as it is automated in newer builds. This is artdeell's patch for 1.17 on gl4es.")]),e._v(" "),t("h2",{attrs:{id:"known-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),t("ul",[t("li",[e._v("[Android only] Crosshair icon and Block outline don't render.")]),e._v(" "),t("li",[e._v("You can tell us in "),t("a",{attrs:{href:"https://discord.gg/6RpEJda",target:"_blank",rel:"noopener noreferrer"}},[e._v("our Discord server"),t("OutboundLink")],1),e._v(" or open an issue if you found one.")]),e._v(" "),t("li",[e._v("UPDATE: "),t("s",[e._v("32-bit platforms (ARMv7 and i386) are currently broken for various reasons. We are looking for a solution.")]),e._v(" We finally found a gold bar under the sea! Although this "),t("a",{attrs:{href:"https://www.mediafire.com/file/v0xcufgzwgga0jy/jre17-arm-20210914-termux.tar.xz/file",target:"_blank",rel:"noopener noreferrer"}},[e._v("JRE17"),t("OutboundLink")],1),e._v(" is not initially made for PojavLauncher, it works magically. Now you can use this JRE17 build to play 1.17.1 until we stabilize it and bring it to PojavLauncher. (Very soon.)")])]),e._v(" "),t("h2",{attrs:{id:"platform-specific-instruction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#platform-specific-instruction"}},[e._v("#")]),e._v(" Platform-specific instruction")]),e._v(" "),t("h3",{attrs:{id:"android"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[e._v("#")]),e._v(" Android:")]),e._v(" "),t("ul",[t("li",[e._v("Download latest build: "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher/actions?query=branch%3Av3_openjdk",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("Download JRE17: "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/releases/tag/jre17-ec28559",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(". You need to download the artifact that matches your device architecture: "),t("code",[e._v("jre17-")]),e._v(", don’t pick jdk17 or debuginfo.")]),e._v(" "),t("li",[e._v("When you install the APK, it will be displayed as second app if you have one installed before.")]),e._v(" "),t("li",[e._v("Go to launcher settings.")]),e._v(" "),t("li",[e._v("Choose Manage runtime -> Add new. Pick the downloaded JRE17 runtime there.")]),e._v(" "),t("li",[e._v("Switch renderer to gl4es 1.1.5 - OpenGL ES 3.")]),e._v(" "),t("li",[t("s",[e._v("On 32-bit, you need to add "),t("code",[e._v("-Xss1m")]),e._v(" to JVM arguments, otherwise Java will crash.")])]),e._v(" "),t("li",[e._v("Now launch Minecraft 1.17 and enjoy!")])]),e._v(" "),t("h3",{attrs:{id:"ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[e._v("#")]),e._v(" iOS:")]),e._v(" "),t("ul",[t("li",[e._v("Install package "),t("code",[e._v("openjdk-16-jre")]),e._v(" or "),t("code",[e._v("openjdk-17-jre")]),e._v(" (if you have Procursus bootstrap)")]),e._v(" "),t("li",[e._v("Get latest build from the "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/actions?query=branch%3Amain",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),t("OutboundLink")],1),e._v(" or "),t("a",{attrs:{href:"https://repo.doregon.gq",target:"_blank",rel:"noopener noreferrer"}},[e._v("Doregon's Repo"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("After install, go into PojavLauncher, sign in and choose the more icon to enter Preferences.")]),e._v(" "),t("li",[e._v("Change Java version to 16 or 17, then restart the launcher in order to take effect. For 1.18 snapshots, Java 17 is recommended as Java 16 seems to cause a weird problem.")]),e._v(" "),t("li",[e._v("Change Renderer to "),t("code",[e._v("tinygl4angle")]),e._v(".")]),e._v(" "),t("li",[e._v("Now launch Minecraft 1.17 and enjoy!")]),e._v(" "),t("li",[e._v("Since iOS uses "),t("code",[e._v("tinygl4angle")]),e._v(" renderer which supports (most?) GLSL 1.50 functionally, this can also be applied to 21w37a+.")])]),e._v(" "),t("h2",{attrs:{id:"note-for-minecraft-21w37a-on-android-thanks-to-notahero04"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#note-for-minecraft-21w37a-on-android-thanks-to-notahero04"}},[e._v("#")]),e._v(" Note for Minecraft 21w37a+ on Android (thanks to "),t("a",{attrs:{href:"https://github.com/NotAHero04",target:"_blank",rel:"noopener noreferrer"}},[e._v("@NotAHero04"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("ul",[t("li",[e._v("Since 21w37a, Mojang bumped the resource pack version to 8, which rendered the current assets-v0 patch unusable. "),t("a",{attrs:{href:"https://cdn.discordapp.com/attachments/724163890803638277/923349783589056522/assets-v0.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("This"),t("OutboundLink")],1),e._v(" is the patch for those versions. Simply replace it to the existing assets-v0, and you’re good to go!")]),e._v(" "),t("li",[e._v("A small note: When the popup about 1.17 appears, tap "),t("strong",[e._v("Play Anyway")]),e._v(". Tapping OK "),t("strong",[e._v("will overwrite the patch")]),e._v(".")]),e._v(" "),t("li",[e._v("Another small note: 1.17.1 or below will simply not work with this patch. "),t("s",[e._v("I recommend using per-version config feature with it.")]),e._v(" If you still want to play 1.17.1 or below, keep the original assets-v0 and follow this instruction:")])]),e._v(" "),t("ol",[t("li",[t("p",[e._v("Download the new assets-v0 on the PojavLauncher Discord server, or "),t("a",{attrs:{href:"https://cdn.discordapp.com/attachments/724163890803638277/923349783589056522/assets-v0.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("here."),t("OutboundLink")],1)])]),e._v(" "),t("li",[t("p",[e._v("Give it another name then move it to /sdcard/Android/data/net.kdt.pojavlaunch[.debug]/files/.minecraft/resourcepacks (on Android 10 or later) or /sdcard/games/PojavLauncher/.minecraft/resourcepacks (on Android 9 or below).")])]),e._v(" "),t("li",[t("p",[e._v('Modify the options.txt file.\nWith the file names above, change the resourcePacks key to:\nresourcePacks:["assets-v0.zip","'),t("code",[e._v("new_patch_name")]),e._v('.zip"].')])]),e._v(" "),t("li",[t("p",[e._v("Now enjoy your game. Be sure to choose Play Anyway when the popup shows.")])])]),e._v(" "),t("p",[e._v("Until we get a more permenant solution to fix 1.17 and newer, this is what we have. It's not perfect, but it works. We hope to see a version of gl4es that translates OpenGL 3 to OpenGL ES, or continue to work on Zink as a backup method if all else fails.*")]),e._v(" "),t("h2",{attrs:{id:"does-optifine-or-sodium-works"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#does-optifine-or-sodium-works"}},[e._v("#")]),e._v(" Does OptiFine or Sodium works?")]),e._v(" "),t("h3",{attrs:{id:"optifine"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#optifine"}},[e._v("#")]),e._v(" OptiFine")]),e._v(" "),t("ul",[t("li",[t("p",[t("s",[e._v("OptiFine seems to not working on Android, as the patch resource pack gets ignored.")]),e._v(" However, it works by putting patched shader files into the client.")]),e._v(" "),t("ul",[t("li",[e._v("Download "),t("a",{attrs:{href:"https://cdn.discordapp.com/attachments/724163890803638277/922043517860212736/Pojav117AssetsPatcher.jar",target:"_blank",rel:"noopener noreferrer"}},[e._v("this patcher"),t("OutboundLink")],1),e._v(". Since OptiFine preloads some shader files, the "),t("code",[e._v("assets-v0")]),e._v(" resource pack trick could not be applied.")]),e._v(" "),t("li",[e._v("Navigate to Options -> Launch a mod installer (the first option). Pick the downloaded patcher.")]),e._v(" "),t("li",[e._v("Select the installed OptiFine version that you want to patch.")]),e._v(" "),t("li",[e._v('Press "OK" to start the patch process.')]),e._v(" "),t("li",[e._v('The alert "Patched '),t("code",[e._v("version")]),e._v('" will be displayed once the patching process finished, otherwise, an alert will display with some error description. Report this to us if this happens.')]),e._v(" "),t("li",[e._v('Now go back to the launcher and press Play. When an alert displays about "install additional resources”, press “Play anyway”.')]),e._v(" "),t("li",[e._v("Enjoy OptiFine moment.")])]),e._v(" "),t("p",[t("strong",[e._v("Known issue:")]),e._v(" Render Regions crashes the game.")])]),e._v(" "),t("li",[t("p",[e._v("OptiFine works on iOS. Render Regions works.")])])]),e._v(" "),t("h3",{attrs:{id:"sodium"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#sodium"}},[e._v("#")]),e._v(" Sodium")]),e._v(" "),t("ul",[t("li",[e._v("Sodium is currently not working on both platforms.")])])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{369:function(e,t,o){"use strict";o.r(t);var r=o(8),a=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"supporting-1-17-and-beyond"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#supporting-1-17-and-beyond"}},[e._v("#")]),e._v(" Supporting 1.17 and beyond")]),e._v(" "),t("p",[e._v("After many days and nights spent working on a temporary solution (and trust me, this is definitely temporary), we've gotten something done: support for 1.17 is here. With backporting work done by artdeell and Java 17 ported by DuyKhanhTran, 1.17 is usable and playable with gl4es. This also applies with 1.17.1 and 1.18 experimental snapshots.")]),e._v(" "),t("p",[e._v("Here's how to get it to work. You need to have a "),t("strong",[e._v("GitHub account")]),e._v(" in order to download the builds and JRE. "),t("s",[e._v("Regardless of your platform, you'll need to download "),t("a",{attrs:{href:"https://cdn.discordapp.com/attachments/724164160761626624/860864619350065162/assets-v0.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("this resource pack"),t("OutboundLink")],1),e._v(".")]),e._v(" The resource pack seems to be no longer required as it is automated in newer builds. This is artdeell's patch for 1.17 on gl4es.")]),e._v(" "),t("h2",{attrs:{id:"known-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),t("ul",[t("li",[e._v("[Android only] Crosshair icon and Block outline don't render.")]),e._v(" "),t("li",[e._v("You can tell us in "),t("a",{attrs:{href:"https://discord.gg/6RpEJda",target:"_blank",rel:"noopener noreferrer"}},[e._v("our Discord server"),t("OutboundLink")],1),e._v(" or open an issue if you found one.")]),e._v(" "),t("li",[e._v("UPDATE: "),t("s",[e._v("32-bit platforms (ARMv7 and i386) are currently broken for various reasons. We are looking for a solution.")]),e._v(" We finally found a gold bar under the sea! Although this "),t("a",{attrs:{href:"https://www.mediafire.com/file/v0xcufgzwgga0jy/jre17-arm-20210914-termux.tar.xz/file",target:"_blank",rel:"noopener noreferrer"}},[e._v("JRE17"),t("OutboundLink")],1),e._v(" is not initially made for PojavLauncher, it works magically. Now you can use this JRE17 build to play 1.17.1 until we stabilize it and bring it to PojavLauncher. (Very soon.)")])]),e._v(" "),t("h2",{attrs:{id:"platform-specific-instruction"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#platform-specific-instruction"}},[e._v("#")]),e._v(" Platform-specific instruction")]),e._v(" "),t("h3",{attrs:{id:"android"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#android"}},[e._v("#")]),e._v(" Android:")]),e._v(" "),t("ul",[t("li",[e._v("Download latest build: "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher/actions?query=branch%3Av3_openjdk",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("Download JRE17: "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch/releases/tag/jre17-ec28559",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(". You need to download the artifact that matches your device architecture: "),t("code",[e._v("jre17-")]),e._v(", don’t pick jdk17 or debuginfo.")]),e._v(" "),t("li",[e._v("When you install the APK, it will be displayed as second app if you have one installed before.")]),e._v(" "),t("li",[e._v("Go to launcher settings.")]),e._v(" "),t("li",[e._v("Choose Manage runtime -> Add new. Pick the downloaded JRE17 runtime there.")]),e._v(" "),t("li",[e._v("Switch renderer to gl4es 1.1.5 - OpenGL ES 3.")]),e._v(" "),t("li",[t("s",[e._v("On 32-bit, you need to add "),t("code",[e._v("-Xss1m")]),e._v(" to JVM arguments, otherwise Java will crash.")])]),e._v(" "),t("li",[e._v("Now launch Minecraft 1.17 and enjoy!")])]),e._v(" "),t("h3",{attrs:{id:"ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ios"}},[e._v("#")]),e._v(" iOS:")]),e._v(" "),t("ul",[t("li",[e._v("Install package "),t("code",[e._v("openjdk-16-jre")]),e._v(" or "),t("code",[e._v("openjdk-17-jre")]),e._v(" (if you have Procursus bootstrap)")]),e._v(" "),t("li",[e._v("Get latest build from the "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/actions?query=branch%3Amain",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),t("OutboundLink")],1),e._v(" or "),t("a",{attrs:{href:"https://repo.doregon.gq",target:"_blank",rel:"noopener noreferrer"}},[e._v("Doregon's Repo"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("li",[e._v("After install, go into PojavLauncher, sign in and choose the more icon to enter Preferences.")]),e._v(" "),t("li",[e._v("Change Java version to 16 or 17, then restart the launcher in order to take effect. For 1.18 snapshots, Java 17 is recommended as Java 16 seems to cause a weird problem.")]),e._v(" "),t("li",[e._v("Change Renderer to "),t("code",[e._v("tinygl4angle")]),e._v(".")]),e._v(" "),t("li",[e._v("Now launch Minecraft 1.17 and enjoy!")]),e._v(" "),t("li",[e._v("Since iOS uses "),t("code",[e._v("tinygl4angle")]),e._v(" renderer which supports (most?) GLSL 1.50 functionally, this can also be applied to 21w37a+.")])]),e._v(" "),t("h2",{attrs:{id:"note-for-minecraft-21w37a-on-android-thanks-to-notahero04"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#note-for-minecraft-21w37a-on-android-thanks-to-notahero04"}},[e._v("#")]),e._v(" Note for Minecraft 21w37a+ on Android (thanks to "),t("a",{attrs:{href:"https://github.com/NotAHero04",target:"_blank",rel:"noopener noreferrer"}},[e._v("@NotAHero04"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("ul",[t("li",[e._v("Since 21w37a, Mojang bumped the resource pack version to 8, which rendered the current assets-v0 patch unusable. "),t("a",{attrs:{href:"https://cdn.discordapp.com/attachments/724163890803638277/923349783589056522/assets-v0.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("This"),t("OutboundLink")],1),e._v(" is the patch for those versions. Simply replace it to the existing assets-v0, and you’re good to go!")]),e._v(" "),t("li",[e._v("A small note: When the popup about 1.17 appears, tap "),t("strong",[e._v("Play Anyway")]),e._v(". Tapping OK "),t("strong",[e._v("will overwrite the patch")]),e._v(".")]),e._v(" "),t("li",[e._v("Another small note: 1.17.1 or below will simply not work with this patch. "),t("s",[e._v("I recommend using per-version config feature with it.")]),e._v(" If you still want to play 1.17.1 or below, keep the original assets-v0 and follow this instruction:")])]),e._v(" "),t("ol",[t("li",[t("p",[e._v("Download the new assets-v0 on the PojavLauncher Discord server, or "),t("a",{attrs:{href:"https://cdn.discordapp.com/attachments/724163890803638277/923349783589056522/assets-v0.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("here."),t("OutboundLink")],1)])]),e._v(" "),t("li",[t("p",[e._v("Give it another name then move it to /sdcard/Android/data/net.kdt.pojavlaunch[.debug]/files/.minecraft/resourcepacks (on Android 10 or later) or /sdcard/games/PojavLauncher/.minecraft/resourcepacks (on Android 9 or below).")])]),e._v(" "),t("li",[t("p",[e._v('Modify the options.txt file.\nWith the file names above, change the resourcePacks key to:\nresourcePacks:["assets-v0.zip","'),t("code",[e._v("new_patch_name")]),e._v('.zip"].')])]),e._v(" "),t("li",[t("p",[e._v("Now enjoy your game. Be sure to choose Play Anyway when the popup shows.")])])]),e._v(" "),t("p",[e._v("Until we get a more permenant solution to fix 1.17 and newer, this is what we have. It's not perfect, but it works. We hope to see a version of gl4es that translates OpenGL 3 to OpenGL ES, or continue to work on Zink as a backup method if all else fails.*")]),e._v(" "),t("h2",{attrs:{id:"does-optifine-or-sodium-works"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#does-optifine-or-sodium-works"}},[e._v("#")]),e._v(" Does OptiFine or Sodium works?")]),e._v(" "),t("h3",{attrs:{id:"optifine"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#optifine"}},[e._v("#")]),e._v(" OptiFine")]),e._v(" "),t("ul",[t("li",[t("p",[t("s",[e._v("OptiFine seems to not working on Android, as the patch resource pack gets ignored.")]),e._v(" However, it works by putting patched shader files into the client.")]),e._v(" "),t("ul",[t("li",[e._v("Download "),t("a",{attrs:{href:"https://cdn.discordapp.com/attachments/724163890803638277/922043517860212736/Pojav117AssetsPatcher.jar",target:"_blank",rel:"noopener noreferrer"}},[e._v("this patcher"),t("OutboundLink")],1),e._v(". Since OptiFine preloads some shader files, the "),t("code",[e._v("assets-v0")]),e._v(" resource pack trick could not be applied.")]),e._v(" "),t("li",[e._v("Navigate to Options -> Launch a mod installer (the first option). Pick the downloaded patcher.")]),e._v(" "),t("li",[e._v("Select the installed OptiFine version that you want to patch.")]),e._v(" "),t("li",[e._v('Press "OK" to start the patch process.')]),e._v(" "),t("li",[e._v('The alert "Patched '),t("code",[e._v("version")]),e._v('" will be displayed once the patching process finished, otherwise, an alert will display with some error description. Report this to us if this happens.')]),e._v(" "),t("li",[e._v('Now go back to the launcher and press Play. When an alert displays about "install additional resources”, press “Play anyway”.')]),e._v(" "),t("li",[e._v("Enjoy OptiFine moment.")])]),e._v(" "),t("p",[t("strong",[e._v("Known issue:")]),e._v(" Render Regions crashes the game.")])]),e._v(" "),t("li",[t("p",[e._v("OptiFine works on iOS. Render Regions works.")])])]),e._v(" "),t("h3",{attrs:{id:"sodium"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#sodium"}},[e._v("#")]),e._v(" Sodium")]),e._v(" "),t("ul",[t("li",[e._v("Sodium is currently not working on both platforms.")])])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/52.c4bef7b4.js b/assets/js/67.bc7f70c7.js similarity index 74% rename from assets/js/52.c4bef7b4.js rename to assets/js/67.bc7f70c7.js index f1cad779..902d6cf0 100644 --- a/assets/js/52.c4bef7b4.js +++ b/assets/js/67.bc7f70c7.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{347:function(t,e,r){"use strict";r.r(e);var s=r(7),n=Object(s.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"interacting-with-our-fellow-developers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interacting-with-our-fellow-developers"}},[this._v("#")]),this._v(" Interacting with our fellow developers")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[67],{370:function(t,e,r){"use strict";r.r(e);var s=r(8),n=Object(s.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"interacting-with-our-fellow-developers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#interacting-with-our-fellow-developers"}},[this._v("#")]),this._v(" Interacting with our fellow developers")])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/53.187db802.js b/assets/js/68.51da814f.js similarity index 91% rename from assets/js/53.187db802.js rename to assets/js/68.51da814f.js index c5f25142..6ad93568 100644 --- a/assets/js/53.187db802.js +++ b/assets/js/68.51da814f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[53],{348:function(e,t,a){"use strict";a.r(t);var r=a(7),n=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"pojavlauncher-website-archives"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher-website-archives"}},[e._v("#")]),e._v(" PojavLauncher Website Archives")]),e._v(" "),t("p",[e._v("To keep up with changes in PojavLauncher's lifecycle, various pages will be archived if they are no longer updated and no longer relevant. These pages can be accessed by adding "),t("code",[e._v("/archived_pages")]),e._v(" to the end of the domain name.")]),e._v(" "),t("p",[e._v("Pages currently in the archive:")]),e._v(" "),t("p",[t("RouterLink",{attrs:{to:"/archived_pages/RIP-A7.html"}},[e._v("Deprecating support for the Apple A7 chip (RIP-A7)")]),t("br"),e._v(" "),t("RouterLink",{attrs:{to:"/archived_pages/OGL32.html"}},[e._v("Supporting 1.17 and beyond (OGL32)")]),t("br"),e._v(" "),t("RouterLink",{attrs:{to:"/archived_pages/PARTNERSHIPS.html"}},[e._v("Interacting with our fellow developers (PARTNERSHIPS)")]),t("br"),e._v(" "),t("RouterLink",{attrs:{to:"/archived_pages/JDK8.html"}},[e._v("OpenJDK 8, coming to iOS (JDK8)")]),e._v(" "),t("RouterLink",{attrs:{to:"/archived_pages/DEVICES_LINUX_INCL.html"}},[e._v("Installing PojavLauncher (ft. Linux)")])],1)])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{371:function(e,t,a){"use strict";a.r(t);var r=a(8),n=Object(r.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"pojavlauncher-website-archives"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher-website-archives"}},[e._v("#")]),e._v(" PojavLauncher Website Archives")]),e._v(" "),t("p",[e._v("To keep up with changes in PojavLauncher's lifecycle, various pages will be archived if they are no longer updated and no longer relevant. These pages can be accessed by adding "),t("code",[e._v("/archived_pages")]),e._v(" to the end of the domain name.")]),e._v(" "),t("p",[e._v("Pages currently in the archive:")]),e._v(" "),t("p",[t("RouterLink",{attrs:{to:"/archived_pages/RIP-A7.html"}},[e._v("Deprecating support for the Apple A7 chip (RIP-A7)")]),t("br"),e._v(" "),t("RouterLink",{attrs:{to:"/archived_pages/OGL32.html"}},[e._v("Supporting 1.17 and beyond (OGL32)")]),t("br"),e._v(" "),t("RouterLink",{attrs:{to:"/archived_pages/PARTNERSHIPS.html"}},[e._v("Interacting with our fellow developers (PARTNERSHIPS)")]),t("br"),e._v(" "),t("RouterLink",{attrs:{to:"/archived_pages/JDK8.html"}},[e._v("OpenJDK 8, coming to iOS (JDK8)")]),e._v(" "),t("RouterLink",{attrs:{to:"/archived_pages/DEVICES_LINUX_INCL.html"}},[e._v("Installing PojavLauncher (ft. Linux)")])],1)])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/54.f3f03b1e.js b/assets/js/69.d4c8f85b.js similarity index 94% rename from assets/js/54.f3f03b1e.js rename to assets/js/69.d4c8f85b.js index 6a216bfa..65f46484 100644 --- a/assets/js/54.f3f03b1e.js +++ b/assets/js/69.d4c8f85b.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{349:function(e,o,t){"use strict";t.r(o);var s=t(7),r=Object(s.a)({},(function(){var e=this,o=e._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"deprecating-support-for-the-apple-a7-chip"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#deprecating-support-for-the-apple-a7-chip"}},[e._v("#")]),e._v(" Deprecating support for the Apple A7 chip")]),e._v(" "),o("p",[e._v("The Apple A7 chip was legendary for its technological advances in 2013. However, it's almost a decade since the introduction of the first device with this processor. Apple no longer supports these devices on the latest versions of iOS, and iOS 12 performs with noticeable performance issues already.")]),e._v(" "),o("p",[e._v("Due to these technical limitations imposed by the hardware and software on these devices, we're ending support for them with the release of PojavLauncher 2.2.")]),e._v(" "),o("p",[e._v("This means the following:")]),e._v(" "),o("ul",[o("li",[o("p",[o("strong",[e._v("PojavLauncher 2.1")]),e._v(" will warn A7 users about the upcoming deprecation, once upon every 30 launches of the app. This can be disabled by flipping the "),o("code",[e._v("a7_allow")]),e._v(" preference to "),o("code",[e._v("YES")]),e._v(".")])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("PojavLauncher 2.1's code")]),e._v(" will be archived and moved to the "),o("code",[e._v("2.1-legacy")]),e._v(" branch. Security fixes will be applied in 2.1 as needed, but no new features will be added to these releases. Third-party users can choose to continue support for A7-related issues, however unofficial forks of PojavLauncher will not be supported.")])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("PojavLauncher 2.2")]),e._v(" will disable support for A7 users on launch, requesting users to return to 2.1 or move to an A8+ device. This can also be overriden by flipping the "),o("code",[e._v("a7_allow")]),e._v(" preference to "),o("code",[e._v("YES")]),e._v(", however support will not be provided for issues encountered while using an A7 device.")]),e._v(" "),o("ul",[o("li",[e._v("If the issue affects other devices as well, the issue will be deemed valid if logs from a supported device are available.")])])])])])}),[],!1,null,null,null);o.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{372:function(e,o,t){"use strict";t.r(o);var s=t(8),r=Object(s.a)({},(function(){var e=this,o=e._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"deprecating-support-for-the-apple-a7-chip"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#deprecating-support-for-the-apple-a7-chip"}},[e._v("#")]),e._v(" Deprecating support for the Apple A7 chip")]),e._v(" "),o("p",[e._v("The Apple A7 chip was legendary for its technological advances in 2013. However, it's almost a decade since the introduction of the first device with this processor. Apple no longer supports these devices on the latest versions of iOS, and iOS 12 performs with noticeable performance issues already.")]),e._v(" "),o("p",[e._v("Due to these technical limitations imposed by the hardware and software on these devices, we're ending support for them with the release of PojavLauncher 2.2.")]),e._v(" "),o("p",[e._v("This means the following:")]),e._v(" "),o("ul",[o("li",[o("p",[o("strong",[e._v("PojavLauncher 2.1")]),e._v(" will warn A7 users about the upcoming deprecation, once upon every 30 launches of the app. This can be disabled by flipping the "),o("code",[e._v("a7_allow")]),e._v(" preference to "),o("code",[e._v("YES")]),e._v(".")])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("PojavLauncher 2.1's code")]),e._v(" will be archived and moved to the "),o("code",[e._v("2.1-legacy")]),e._v(" branch. Security fixes will be applied in 2.1 as needed, but no new features will be added to these releases. Third-party users can choose to continue support for A7-related issues, however unofficial forks of PojavLauncher will not be supported.")])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("PojavLauncher 2.2")]),e._v(" will disable support for A7 users on launch, requesting users to return to 2.1 or move to an A8+ device. This can also be overriden by flipping the "),o("code",[e._v("a7_allow")]),e._v(" preference to "),o("code",[e._v("YES")]),e._v(", however support will not be provided for issues encountered while using an A7 device.")]),e._v(" "),o("ul",[o("li",[e._v("If the issue affects other devices as well, the issue will be deemed valid if logs from a supported device are available.")])])])])])}),[],!1,null,null,null);o.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/9.e5ffc2fa.js b/assets/js/7.218a6f59.js similarity index 83% rename from assets/js/9.e5ffc2fa.js rename to assets/js/7.218a6f59.js index b4a49152..b2b82b4a 100644 --- a/assets/js/9.e5ffc2fa.js +++ b/assets/js/7.218a6f59.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{301:function(e,t,n){"use strict";n.r(t);var a={name:"ThemeManager",beforeMount(){function e(e){window.__theme=e,t=e,document.body.setAttribute("data-theme",e),window.__onThemeChange(e)}var t;window.__onThemeChange=function(){};try{t=localStorage.getItem("theme")}catch(e){}window.__setPreferredTheme=function(t){e(t);try{localStorage.setItem("theme",t)}catch(e){}};var n=window.matchMedia("(prefers-color-scheme: dark)");n.addListener((function(e){window.__setPreferredTheme(e.matches?"dark":"light")})),e(t||(n.matches?"dark":"light"))}},o=n(7),i=Object(o.a)(a,(function(){return(0,this._self._c)("div",{staticStyle:{visibility:"hidden",display:"none"}})}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{326:function(e,t,n){"use strict";n.r(t);var a={name:"ThemeManager",beforeMount(){function e(e){window.__theme=e,t=e,document.body.setAttribute("data-theme",e),window.__onThemeChange(e)}var t;window.__onThemeChange=function(){};try{t=localStorage.getItem("theme")}catch(e){}window.__setPreferredTheme=function(t){e(t);try{localStorage.setItem("theme",t)}catch(e){}};var n=window.matchMedia("(prefers-color-scheme: dark)");n.addListener((function(e){window.__setPreferredTheme(e.matches?"dark":"light")})),e(t||(n.matches?"dark":"light"))}},o=n(8),i=Object(o.a)(a,(function(){return(0,this._self._c)("div",{staticStyle:{visibility:"hidden",display:"none"}})}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/55.28dc2b2d.js b/assets/js/70.2799fb75.js similarity index 69% rename from assets/js/55.28dc2b2d.js rename to assets/js/70.2799fb75.js index 93c0ba46..dc3001cb 100644 --- a/assets/js/55.28dc2b2d.js +++ b/assets/js/70.2799fb75.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{350:function(t,s,n){"use strict";n.r(s);var a=n(7),e=Object(a.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("p",[t("img",{attrs:{src:"https://cdn.discordapp.com/attachments/1059094483582586950/1087061554190618674/images.png",alt:"."}})])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{373:function(t,s,n){"use strict";n.r(s);var a=n(8),e=Object(a.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("p",[t("img",{attrs:{src:"https://cdn.discordapp.com/attachments/1059094483582586950/1087061554190618674/images.png",alt:"."}})])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/56.e8d0506c.js b/assets/js/71.1b412f23.js similarity index 99% rename from assets/js/56.e8d0506c.js rename to assets/js/71.1b412f23.js index 29889775..8715c4f1 100644 --- a/assets/js/56.e8d0506c.js +++ b/assets/js/71.1b412f23.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[56],{351:function(e,t,i){"use strict";i.r(t);var a=i(7),o=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"pojavlauncher-ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher-ios"}},[e._v("#")]),e._v(" PojavLauncher iOS")]),e._v(" "),t("h2",{attrs:{id:"_2-2-deepslate"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-deepslate"}},[e._v("#")]),e._v(' 2.2 "Deepslate"')]),e._v(" "),t("p",[e._v("With this release of PojavLauncher, we refined features, fixed bugs, and implemented small additions to existing ones to buff user experience. While there are not many notable changes to discuss here, there are some we can show:")]),e._v(" "),t("ul",[t("li",[e._v("Implemented a controller configurator")]),e._v(" "),t("li",[e._v("Increased reliability in various places")]),e._v(" "),t("li",[e._v("Added haptics to the on-screen controls")]),e._v(" "),t("li",[e._v("Switched to new input methods to speed up control times")]),e._v(" "),t("li",[e._v("Secured demo mode")]),e._v(" "),t("li",[e._v("Added new preferences to control more of the app")]),e._v(" "),t("li",[e._v("Resolve various issues with windowing in older versions")]),e._v(" "),t("li",[e._v("and many, many more!")])]),e._v(" "),t("p",[t("strong",[e._v("This is the last major release of PojavLauncher that will support iOS 12 and 13.")]),e._v(" Important security patches and bug fixes will be applied when required for a limited time, however take note that issues encountered will not be considered high priority. See more information in #547.")]),e._v(" "),t("p",[e._v("A full commit changelog is available "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/compare/v2.1.3...v2.2",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"_2-1-sculk-catalyst"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-1-sculk-catalyst"}},[e._v("#")]),e._v(' 2.1 "Sculk Catalyst"')]),e._v(" "),t("p",[e._v("Minor release, major changes!")]),e._v(" "),t("h3",{attrs:{id:"jailbreak-requirement"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#jailbreak-requirement"}},[e._v("#")]),e._v(" Jailbreak requirement")]),e._v(" "),t("p",[e._v("PojavLauncher no longer requires a jailbreak to work, so it will also work on the latest iOS version. While it works, certain features are limited:")]),e._v(" "),t("ul",[t("li",[e._v("You will need a support app to launch with JIT enabled. JitStreamer integration is done to automate this task.")]),e._v(" "),t("li",[e._v("Initial Wi-Fi connection is required to enable JIT. Cellular data isn’t supported, Wi-Fi hotspot might be a workaround.")]),e._v(" "),t("li",[e._v("RAM allocation is limited. Attempt to go beyond the limit will result in random crashes while loading world chunks.")])]),e._v(" "),t("p",[e._v("If installed with TrollStore, these limitations aren’t applied, as it has sandbox exceptions to bypass, so it works like when jailbroken.")]),e._v(" "),t("h3",{attrs:{id:"new-features"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#new-features"}},[e._v("#")]),e._v(" New features")]),e._v(" "),t("ul",[t("li",[e._v("Added Demo mode support")]),e._v(" "),t("li",[e._v("Automatic Java version and Renderer selection")]),e._v(" "),t("li",[e._v("Cosmetica custom capes integration")]),e._v(" "),t("li",[e._v("Complete Controller support")]),e._v(" "),t("li",[e._v("Fullscreen AirPlay display support")]),e._v(" "),t("li",[e._v("Keyboard and mouse support deepened")]),e._v(" "),t("li",[e._v("Many settings that were missing from Android are added")]),e._v(" "),t("li",[e._v("(iPadOS 16) Stage Manager support")])]),e._v(" "),t("h3",{attrs:{id:"security"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#security"}},[e._v("#")]),e._v(" Security")]),e._v(" "),t("ul",[t("li",[e._v("Patch log4shell exploit in client")])]),e._v(" "),t("h3",{attrs:{id:"user-interface"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#user-interface"}},[e._v("#")]),e._v(" User interface")]),e._v(" "),t("ul",[t("li",[e._v("Added vertical UI")]),e._v(" "),t("li",[e._v("Redesigned Launcher UI to match Android")]),e._v(" "),t("li",[e._v("The current login state will be shown in the title")]),e._v(" "),t("li",[e._v("Play button is greyed out when launching")]),e._v(" "),t("li",[e._v("Back button is hidden when launching")]),e._v(" "),t("li",[e._v("Custom controls UI completed")]),e._v(" "),t("li",[e._v("The control button editor is now a movable window")]),e._v(" "),t("li",[e._v("When game crash occurs, Log Output will be shown for user to determine the problem in place")]),e._v(" "),t("li",[e._v("Multilingual support: you can contribute your translation through Crowdin")]),e._v(" "),t("li",[e._v("New switch to unlock iPadOS UI, allows iPhone users to unlock certain features that are only available on iPad (floating keyboard for example)")])]),e._v(" "),t("h3",{attrs:{id:"fixes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#fixes"}},[e._v("#")]),e._v(" Fixes")]),e._v(" "),t("ul",[t("li",[e._v("Slight changes to error messages")]),e._v(" "),t("li",[e._v("Fix Makefile errors in "),t("code",[e._v("deploy")]),e._v(" and "),t("code",[e._v("ipa")])]),e._v(" "),t("li",[e._v("Fix NullPointerException when launching ≤1.6.4")]),e._v(" "),t("li",[e._v("Fix NullPointerException when setting inherited fields")]),e._v(" "),t("li",[e._v("Fix “Share your logs” not working")]),e._v(" "),t("li",[e._v("Fix Forge, Fabric 1.17+ not launching")]),e._v(" "),t("li",[e._v("Fix postinst issue on Procursus")])]),e._v(" "),t("h3",{attrs:{id:"issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#issues"}},[e._v("#")]),e._v(" Issues")]),e._v(" "),t("ul",[t("li",[e._v("Nintendo Switch Joy-Con controllers are only officially supported since iOS 16.0")]),e._v(" "),t("li",[e._v("Mouse support requires iOS 14.0 or later, keyboards require iOS 13.4 or later")]),e._v(" "),t("li",[e._v("Old (pre-2.0) custom control .json files no longer work, remove to fix")]),e._v(" "),t("li",[e._v("This is the last release that will support Apple devices with the A7 chip")]),e._v(" "),t("li",[e._v("Mojang login has been removed with this release due to the March 10th deadline")])]),e._v(" "),t("h2",{attrs:{id:"_2-0-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-0-1"}},[e._v("#")]),e._v(" 2.0.1")]),e._v(" "),t("p",[e._v("This release is identical to v2.0, except with a fix for issues installing on Procursus jailbreak, and fixes for the depiction.")]),e._v(" "),t("h2",{attrs:{id:"_2-0-raw-iron"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-0-raw-iron"}},[e._v("#")]),e._v(' 2.0 "Raw Iron"')]),e._v(" "),t("h3",{attrs:{id:"changes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changes"}},[e._v("#")]),e._v(" Changes")]),e._v(" "),t("ul",[t("li",[e._v("The Login view has been simplified to three easy buttons")]),e._v(" "),t("li",[e._v("The Offline Account has been replaced with "),t("a",{attrs:{href:"https://pojavlauncherteam.github.io/updates/local.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Local Account"),t("OutboundLink")],1),e._v(". Installing Minecraft now requires a Mojang or Microsoft account logged in.")]),e._v(" "),t("li",[e._v("New FAQ page to show quick answers to questions")]),e._v(" "),t("li",[e._v("New About view to show quick details, links, and update history")]),e._v(" "),t("li",[e._v("Ability to send logs from within the launcher")]),e._v(" "),t("li",[e._v("The Select Account screen is now a pop-up window")]),e._v(" "),t("li",[e._v("New picker view to switch versions without typing them manually")]),e._v(" "),t("li",[e._v("Support to show your locally installed clients")]),e._v(" "),t("li",[e._v("New settings page to manage preferences")]),e._v(" "),t("li",[e._v("OpenJDK 8 support, to allow older versions of modded Minecraft")]),e._v(" "),t("li",[e._v("New mod installer, built into the launcher")]),e._v(" "),t("li",[e._v("Unfinished in-launcher custom controls (#292)")]),e._v(" "),t("li",[e._v("Move to "),t("code",[e._v("/usr/share")]),e._v(", for better rootFS compatibility")]),e._v(" "),t("li",[e._v("New packaging format (#291)\n"),t("ul",[t("li",[e._v("release, for iOS 14 and lower (full root access jailbreaks)")]),e._v(" "),t("li",[e._v("release-rootless, for iOS 15 (Procursus rootless jailbreak)")])])])]),e._v(" "),t("h3",{attrs:{id:"fixes-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#fixes-2"}},[e._v("#")]),e._v(" Fixes")]),e._v(" "),t("ul",[t("li",[e._v("WIP fix for typing on 1.12.2 and older")]),e._v(" "),t("li",[e._v("The hotbar now works across GUI scales")]),e._v(" "),t("li",[e._v("(With JDK 8) Forge 1.8.9 - 1.15.2 now work")]),e._v(" "),t("li",[e._v("(With JDK 8) Vanilla 1.5.2 and under now work")]),e._v(" "),t("li",[e._v("Buttons now scale correctly according to screen size")]),e._v(" "),t("li",[e._v("Crash if login to Microsoft fails.")])]),e._v(" "),t("h3",{attrs:{id:"issues-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#issues-2"}},[e._v("#")]),e._v(" Issues")]),e._v(" "),t("ul",[t("li",[e._v("Old custom control .json files no longer work, remove to fix")]),e._v(" "),t("li",[e._v("Custom controls settings page is not complete, there may be some issues!")]),e._v(" "),t("li",[e._v("An unknown issue might cause Taurine, 14.3, and A12+ to crash on launch.")])]),e._v(" "),t("h3",{attrs:{id:"a-note-for-old-idevices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-note-for-old-idevices"}},[e._v("#")]),e._v(" A note for old iDevices")]),e._v(" "),t("ul",[t("li",[e._v("If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds or servers due to too little RAM. Higher RAM can be set (using the Java arguments preference and overb0ard), but you may need to close all apps and remove some tweaks in order to free up enough.")]),e._v(" "),t("li")]),e._v(" "),t("h2",{attrs:{id:"_1-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-2"}},[e._v("#")]),e._v(" 1.2")]),e._v(" "),t("h3",{attrs:{id:"changes-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changes-2"}},[e._v("#")]),e._v(" Changes")]),e._v(" "),t("ul",[t("li",[e._v("Use new method for Microsoft login")]),e._v(" "),t("li",[e._v("Added gl4es 1.1.5 as an option")]),e._v(" "),t("li",[e._v("WIP custom controls (can be changed by placing at "),t("code",[e._v("/var/mobile/Documents/.pojavlauncher/controlmap/default.json")]),e._v("). Note that some functions may not work properly.")]),e._v(" "),t("li",[e._v("WIP external mouse support")]),e._v(" "),t("li",[e._v("Custom environment variables, in /var/mobile/Documents/.pojavlauncher/custom_env.txt")]),e._v(" "),t("li",[e._v("Reduction of file size with removal of unused binaries")]),e._v(" "),t("li",[e._v("Moved latestlog.txt and overrideargs.txt to /var/mobile/Documents/.pojavlauncher")])]),e._v(" "),t("h3",{attrs:{id:"fixes-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#fixes-3"}},[e._v("#")]),e._v(" Fixes")]),e._v(" "),t("ul",[t("li",[e._v("Fix file permission issues during install of package")]),e._v(" "),t("li",[e._v("Hide home bar like Bedrock Edition")]),e._v(" "),t("li",[e._v("Properly hide iPad status bar")])]),e._v(" "),t("h3",{attrs:{id:"known-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),t("ul",[t("li",[e._v("Crash if login to Microsoft fails.")]),e._v(" "),t("li",[e._v("Control buttons notch offset seems doubled.")]),e._v(" "),t("li",[e._v("Several Forge versions won’t work due to removed deprecated classes (see #67 and #68).")]),e._v(" "),t("li",[e._v("Text input will not work on 1.12.2 and below.")])]),e._v(" "),t("h3",{attrs:{id:"a-note-for-old-idevices-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-note-for-old-idevices-2"}},[e._v("#")]),e._v(" A note for old iDevices")]),e._v(" "),t("ul",[t("li",[e._v("If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds or servers due to too little RAM. Higher RAM can be set (using the overrideargs.txt file and jetsamctl), but we are unsure if iOS 12 will give enough free RAM.")])]),e._v(" "),t("h2",{attrs:{id:"_1-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-1"}},[e._v("#")]),e._v(" 1.1")]),e._v(" "),t("h3",{attrs:{id:"changes-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changes-3"}},[e._v("#")]),e._v(" Changes")]),e._v(" "),t("ul",[t("li",[e._v("Added a place to customize JVM Flags, by create and edit "),t("code",[e._v("minecraft/overrideargs.txt")]),e._v(" file.")]),e._v(" "),t("li",[e._v("Changed button offset for avoiding notch cutout on iPhone X and newer.")]),e._v(" "),t("li",[e._v("Forge 1.13+ (not all) and Fabric API are now supported.")]),e._v(" "),t("li",[t("code",[e._v("launcher_profiles.json")]),e._v(" is now automatically created.")]),e._v(" "),t("li",[e._v("Minecraft 1.6.1 to 1.13.2 are now playable.")]),e._v(" "),t("li",[e._v("Mojang authentication was re-written, so it should work now.")])]),e._v(" "),t("h3",{attrs:{id:"fixes-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#fixes-4"}},[e._v("#")]),e._v(" Fixes")]),e._v(" "),t("ul",[t("li",[e._v("Fixed random crashes occur while Minecraft is initializing.")])]),e._v(" "),t("h3",{attrs:{id:"known-issues-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#known-issues-2"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),t("ul",[t("li",[e._v("Crash if login to Microsoft fails.")]),e._v(" "),t("li",[e._v("Several Forge versions won’t work due to removed deprecated classes (see #67 and #68).")]),e._v(" "),t("li",[e._v("Text input will not work on 1.12.2 and below.")])]),e._v(" "),t("h3",{attrs:{id:"a-note-for-old-idevices-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-note-for-old-idevices-3"}},[e._v("#")]),e._v(" A note for old iDevices")]),e._v(" "),t("ul",[t("li",[e._v("If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds due to too few RAM. Higher RAM can be set, but I'm unsure if iOS 12 will gives enough free RAM.")])]),e._v(" "),t("h2",{attrs:{id:"_1-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0"}},[e._v("#")]),e._v(" 1.0")]),e._v(" "),t("h3",{attrs:{id:"features"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[e._v("#")]),e._v(" Features")]),e._v(" "),t("ul",[t("li",[e._v("Login with Mojang (might not work), Microsoft (not tested) or offline.")]),e._v(" "),t("li",[e._v("Minecraft 1.14+ are playable.")]),e._v(" "),t("li",[e._v("Multiplayer and joining servers works.")]),e._v(" "),t("li",[e._v("Audio works (need enable ringer).")]),e._v(" "),t("li",[e._v("Fabric and OptiFine works.")]),e._v(" "),t("li",[e._v("Bedrock-like gestures: click to hotbar item; click to place block (trigger right mouse); hold and move to destroy blocks (trigger hold left mouse), but attacking entites is left mouse, so not same as Bedrock.")]),e._v(" "),t("li",[e._v("Hold screen on UI will hold the left mouse, so it can also used for moving the scroll bar.")]),e._v(" "),t("li",[e._v("On-screen control buttons.")])]),e._v(" "),t("h3",{attrs:{id:"limitations"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#limitations"}},[e._v("#")]),e._v(" Limitations")]),e._v(" "),t("ul",[t("li",[e._v("Jailbreak is required in order to install OpenJDK and PojavLauncher.")]),e._v(" "),t("li",[e._v("Forge won't work.")]),e._v(" "),t("li",[e._v("Fabric API won't work.")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tell us"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("h3",{attrs:{id:"crashes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#crashes"}},[e._v("#")]),e._v(" Crashes")]),e._v(" "),t("ul",[t("li",[t("s",[e._v("I've got some reports that JVM was crashing after press “Play” button.")])]),e._v(" "),t("li",[t("s",[e._v("Also, it seems that checkra1n jailbroken devices will get crashed at entering Minecraft (?)")])]),e._v(" "),t("li",[e._v("They were all random crashes and will be fixed in next release.")])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{375:function(e,t,i){"use strict";i.r(t);var a=i(8),o=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"pojavlauncher-ios"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher-ios"}},[e._v("#")]),e._v(" PojavLauncher iOS")]),e._v(" "),t("h2",{attrs:{id:"_2-2-deepslate"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-deepslate"}},[e._v("#")]),e._v(' 2.2 "Deepslate"')]),e._v(" "),t("p",[e._v("With this release of PojavLauncher, we refined features, fixed bugs, and implemented small additions to existing ones to buff user experience. While there are not many notable changes to discuss here, there are some we can show:")]),e._v(" "),t("ul",[t("li",[e._v("Implemented a controller configurator")]),e._v(" "),t("li",[e._v("Increased reliability in various places")]),e._v(" "),t("li",[e._v("Added haptics to the on-screen controls")]),e._v(" "),t("li",[e._v("Switched to new input methods to speed up control times")]),e._v(" "),t("li",[e._v("Secured demo mode")]),e._v(" "),t("li",[e._v("Added new preferences to control more of the app")]),e._v(" "),t("li",[e._v("Resolve various issues with windowing in older versions")]),e._v(" "),t("li",[e._v("and many, many more!")])]),e._v(" "),t("p",[t("strong",[e._v("This is the last major release of PojavLauncher that will support iOS 12 and 13.")]),e._v(" Important security patches and bug fixes will be applied when required for a limited time, however take note that issues encountered will not be considered high priority. See more information in #547.")]),e._v(" "),t("p",[e._v("A full commit changelog is available "),t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/compare/v2.1.3...v2.2",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"_2-1-sculk-catalyst"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-1-sculk-catalyst"}},[e._v("#")]),e._v(' 2.1 "Sculk Catalyst"')]),e._v(" "),t("p",[e._v("Minor release, major changes!")]),e._v(" "),t("h3",{attrs:{id:"jailbreak-requirement"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#jailbreak-requirement"}},[e._v("#")]),e._v(" Jailbreak requirement")]),e._v(" "),t("p",[e._v("PojavLauncher no longer requires a jailbreak to work, so it will also work on the latest iOS version. While it works, certain features are limited:")]),e._v(" "),t("ul",[t("li",[e._v("You will need a support app to launch with JIT enabled. JitStreamer integration is done to automate this task.")]),e._v(" "),t("li",[e._v("Initial Wi-Fi connection is required to enable JIT. Cellular data isn’t supported, Wi-Fi hotspot might be a workaround.")]),e._v(" "),t("li",[e._v("RAM allocation is limited. Attempt to go beyond the limit will result in random crashes while loading world chunks.")])]),e._v(" "),t("p",[e._v("If installed with TrollStore, these limitations aren’t applied, as it has sandbox exceptions to bypass, so it works like when jailbroken.")]),e._v(" "),t("h3",{attrs:{id:"new-features"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#new-features"}},[e._v("#")]),e._v(" New features")]),e._v(" "),t("ul",[t("li",[e._v("Added Demo mode support")]),e._v(" "),t("li",[e._v("Automatic Java version and Renderer selection")]),e._v(" "),t("li",[e._v("Cosmetica custom capes integration")]),e._v(" "),t("li",[e._v("Complete Controller support")]),e._v(" "),t("li",[e._v("Fullscreen AirPlay display support")]),e._v(" "),t("li",[e._v("Keyboard and mouse support deepened")]),e._v(" "),t("li",[e._v("Many settings that were missing from Android are added")]),e._v(" "),t("li",[e._v("(iPadOS 16) Stage Manager support")])]),e._v(" "),t("h3",{attrs:{id:"security"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#security"}},[e._v("#")]),e._v(" Security")]),e._v(" "),t("ul",[t("li",[e._v("Patch log4shell exploit in client")])]),e._v(" "),t("h3",{attrs:{id:"user-interface"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#user-interface"}},[e._v("#")]),e._v(" User interface")]),e._v(" "),t("ul",[t("li",[e._v("Added vertical UI")]),e._v(" "),t("li",[e._v("Redesigned Launcher UI to match Android")]),e._v(" "),t("li",[e._v("The current login state will be shown in the title")]),e._v(" "),t("li",[e._v("Play button is greyed out when launching")]),e._v(" "),t("li",[e._v("Back button is hidden when launching")]),e._v(" "),t("li",[e._v("Custom controls UI completed")]),e._v(" "),t("li",[e._v("The control button editor is now a movable window")]),e._v(" "),t("li",[e._v("When game crash occurs, Log Output will be shown for user to determine the problem in place")]),e._v(" "),t("li",[e._v("Multilingual support: you can contribute your translation through Crowdin")]),e._v(" "),t("li",[e._v("New switch to unlock iPadOS UI, allows iPhone users to unlock certain features that are only available on iPad (floating keyboard for example)")])]),e._v(" "),t("h3",{attrs:{id:"fixes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#fixes"}},[e._v("#")]),e._v(" Fixes")]),e._v(" "),t("ul",[t("li",[e._v("Slight changes to error messages")]),e._v(" "),t("li",[e._v("Fix Makefile errors in "),t("code",[e._v("deploy")]),e._v(" and "),t("code",[e._v("ipa")])]),e._v(" "),t("li",[e._v("Fix NullPointerException when launching ≤1.6.4")]),e._v(" "),t("li",[e._v("Fix NullPointerException when setting inherited fields")]),e._v(" "),t("li",[e._v("Fix “Share your logs” not working")]),e._v(" "),t("li",[e._v("Fix Forge, Fabric 1.17+ not launching")]),e._v(" "),t("li",[e._v("Fix postinst issue on Procursus")])]),e._v(" "),t("h3",{attrs:{id:"issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#issues"}},[e._v("#")]),e._v(" Issues")]),e._v(" "),t("ul",[t("li",[e._v("Nintendo Switch Joy-Con controllers are only officially supported since iOS 16.0")]),e._v(" "),t("li",[e._v("Mouse support requires iOS 14.0 or later, keyboards require iOS 13.4 or later")]),e._v(" "),t("li",[e._v("Old (pre-2.0) custom control .json files no longer work, remove to fix")]),e._v(" "),t("li",[e._v("This is the last release that will support Apple devices with the A7 chip")]),e._v(" "),t("li",[e._v("Mojang login has been removed with this release due to the March 10th deadline")])]),e._v(" "),t("h2",{attrs:{id:"_2-0-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-0-1"}},[e._v("#")]),e._v(" 2.0.1")]),e._v(" "),t("p",[e._v("This release is identical to v2.0, except with a fix for issues installing on Procursus jailbreak, and fixes for the depiction.")]),e._v(" "),t("h2",{attrs:{id:"_2-0-raw-iron"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-0-raw-iron"}},[e._v("#")]),e._v(' 2.0 "Raw Iron"')]),e._v(" "),t("h3",{attrs:{id:"changes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changes"}},[e._v("#")]),e._v(" Changes")]),e._v(" "),t("ul",[t("li",[e._v("The Login view has been simplified to three easy buttons")]),e._v(" "),t("li",[e._v("The Offline Account has been replaced with "),t("a",{attrs:{href:"https://pojavlauncherteam.github.io/updates/local.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Local Account"),t("OutboundLink")],1),e._v(". Installing Minecraft now requires a Mojang or Microsoft account logged in.")]),e._v(" "),t("li",[e._v("New FAQ page to show quick answers to questions")]),e._v(" "),t("li",[e._v("New About view to show quick details, links, and update history")]),e._v(" "),t("li",[e._v("Ability to send logs from within the launcher")]),e._v(" "),t("li",[e._v("The Select Account screen is now a pop-up window")]),e._v(" "),t("li",[e._v("New picker view to switch versions without typing them manually")]),e._v(" "),t("li",[e._v("Support to show your locally installed clients")]),e._v(" "),t("li",[e._v("New settings page to manage preferences")]),e._v(" "),t("li",[e._v("OpenJDK 8 support, to allow older versions of modded Minecraft")]),e._v(" "),t("li",[e._v("New mod installer, built into the launcher")]),e._v(" "),t("li",[e._v("Unfinished in-launcher custom controls (#292)")]),e._v(" "),t("li",[e._v("Move to "),t("code",[e._v("/usr/share")]),e._v(", for better rootFS compatibility")]),e._v(" "),t("li",[e._v("New packaging format (#291)\n"),t("ul",[t("li",[e._v("release, for iOS 14 and lower (full root access jailbreaks)")]),e._v(" "),t("li",[e._v("release-rootless, for iOS 15 (Procursus rootless jailbreak)")])])])]),e._v(" "),t("h3",{attrs:{id:"fixes-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#fixes-2"}},[e._v("#")]),e._v(" Fixes")]),e._v(" "),t("ul",[t("li",[e._v("WIP fix for typing on 1.12.2 and older")]),e._v(" "),t("li",[e._v("The hotbar now works across GUI scales")]),e._v(" "),t("li",[e._v("(With JDK 8) Forge 1.8.9 - 1.15.2 now work")]),e._v(" "),t("li",[e._v("(With JDK 8) Vanilla 1.5.2 and under now work")]),e._v(" "),t("li",[e._v("Buttons now scale correctly according to screen size")]),e._v(" "),t("li",[e._v("Crash if login to Microsoft fails.")])]),e._v(" "),t("h3",{attrs:{id:"issues-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#issues-2"}},[e._v("#")]),e._v(" Issues")]),e._v(" "),t("ul",[t("li",[e._v("Old custom control .json files no longer work, remove to fix")]),e._v(" "),t("li",[e._v("Custom controls settings page is not complete, there may be some issues!")]),e._v(" "),t("li",[e._v("An unknown issue might cause Taurine, 14.3, and A12+ to crash on launch.")])]),e._v(" "),t("h3",{attrs:{id:"a-note-for-old-idevices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-note-for-old-idevices"}},[e._v("#")]),e._v(" A note for old iDevices")]),e._v(" "),t("ul",[t("li",[e._v("If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds or servers due to too little RAM. Higher RAM can be set (using the Java arguments preference and overb0ard), but you may need to close all apps and remove some tweaks in order to free up enough.")]),e._v(" "),t("li")]),e._v(" "),t("h2",{attrs:{id:"_1-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-2"}},[e._v("#")]),e._v(" 1.2")]),e._v(" "),t("h3",{attrs:{id:"changes-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changes-2"}},[e._v("#")]),e._v(" Changes")]),e._v(" "),t("ul",[t("li",[e._v("Use new method for Microsoft login")]),e._v(" "),t("li",[e._v("Added gl4es 1.1.5 as an option")]),e._v(" "),t("li",[e._v("WIP custom controls (can be changed by placing at "),t("code",[e._v("/var/mobile/Documents/.pojavlauncher/controlmap/default.json")]),e._v("). Note that some functions may not work properly.")]),e._v(" "),t("li",[e._v("WIP external mouse support")]),e._v(" "),t("li",[e._v("Custom environment variables, in /var/mobile/Documents/.pojavlauncher/custom_env.txt")]),e._v(" "),t("li",[e._v("Reduction of file size with removal of unused binaries")]),e._v(" "),t("li",[e._v("Moved latestlog.txt and overrideargs.txt to /var/mobile/Documents/.pojavlauncher")])]),e._v(" "),t("h3",{attrs:{id:"fixes-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#fixes-3"}},[e._v("#")]),e._v(" Fixes")]),e._v(" "),t("ul",[t("li",[e._v("Fix file permission issues during install of package")]),e._v(" "),t("li",[e._v("Hide home bar like Bedrock Edition")]),e._v(" "),t("li",[e._v("Properly hide iPad status bar")])]),e._v(" "),t("h3",{attrs:{id:"known-issues"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#known-issues"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),t("ul",[t("li",[e._v("Crash if login to Microsoft fails.")]),e._v(" "),t("li",[e._v("Control buttons notch offset seems doubled.")]),e._v(" "),t("li",[e._v("Several Forge versions won’t work due to removed deprecated classes (see #67 and #68).")]),e._v(" "),t("li",[e._v("Text input will not work on 1.12.2 and below.")])]),e._v(" "),t("h3",{attrs:{id:"a-note-for-old-idevices-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-note-for-old-idevices-2"}},[e._v("#")]),e._v(" A note for old iDevices")]),e._v(" "),t("ul",[t("li",[e._v("If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds or servers due to too little RAM. Higher RAM can be set (using the overrideargs.txt file and jetsamctl), but we are unsure if iOS 12 will give enough free RAM.")])]),e._v(" "),t("h2",{attrs:{id:"_1-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-1"}},[e._v("#")]),e._v(" 1.1")]),e._v(" "),t("h3",{attrs:{id:"changes-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#changes-3"}},[e._v("#")]),e._v(" Changes")]),e._v(" "),t("ul",[t("li",[e._v("Added a place to customize JVM Flags, by create and edit "),t("code",[e._v("minecraft/overrideargs.txt")]),e._v(" file.")]),e._v(" "),t("li",[e._v("Changed button offset for avoiding notch cutout on iPhone X and newer.")]),e._v(" "),t("li",[e._v("Forge 1.13+ (not all) and Fabric API are now supported.")]),e._v(" "),t("li",[t("code",[e._v("launcher_profiles.json")]),e._v(" is now automatically created.")]),e._v(" "),t("li",[e._v("Minecraft 1.6.1 to 1.13.2 are now playable.")]),e._v(" "),t("li",[e._v("Mojang authentication was re-written, so it should work now.")])]),e._v(" "),t("h3",{attrs:{id:"fixes-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#fixes-4"}},[e._v("#")]),e._v(" Fixes")]),e._v(" "),t("ul",[t("li",[e._v("Fixed random crashes occur while Minecraft is initializing.")])]),e._v(" "),t("h3",{attrs:{id:"known-issues-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#known-issues-2"}},[e._v("#")]),e._v(" Known issues")]),e._v(" "),t("ul",[t("li",[e._v("Crash if login to Microsoft fails.")]),e._v(" "),t("li",[e._v("Several Forge versions won’t work due to removed deprecated classes (see #67 and #68).")]),e._v(" "),t("li",[e._v("Text input will not work on 1.12.2 and below.")])]),e._v(" "),t("h3",{attrs:{id:"a-note-for-old-idevices-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-note-for-old-idevices-3"}},[e._v("#")]),e._v(" A note for old iDevices")]),e._v(" "),t("ul",[t("li",[e._v("If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds due to too few RAM. Higher RAM can be set, but I'm unsure if iOS 12 will gives enough free RAM.")])]),e._v(" "),t("h2",{attrs:{id:"_1-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0"}},[e._v("#")]),e._v(" 1.0")]),e._v(" "),t("h3",{attrs:{id:"features"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[e._v("#")]),e._v(" Features")]),e._v(" "),t("ul",[t("li",[e._v("Login with Mojang (might not work), Microsoft (not tested) or offline.")]),e._v(" "),t("li",[e._v("Minecraft 1.14+ are playable.")]),e._v(" "),t("li",[e._v("Multiplayer and joining servers works.")]),e._v(" "),t("li",[e._v("Audio works (need enable ringer).")]),e._v(" "),t("li",[e._v("Fabric and OptiFine works.")]),e._v(" "),t("li",[e._v("Bedrock-like gestures: click to hotbar item; click to place block (trigger right mouse); hold and move to destroy blocks (trigger hold left mouse), but attacking entites is left mouse, so not same as Bedrock.")]),e._v(" "),t("li",[e._v("Hold screen on UI will hold the left mouse, so it can also used for moving the scroll bar.")]),e._v(" "),t("li",[e._v("On-screen control buttons.")])]),e._v(" "),t("h3",{attrs:{id:"limitations"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#limitations"}},[e._v("#")]),e._v(" Limitations")]),e._v(" "),t("ul",[t("li",[e._v("Jailbreak is required in order to install OpenJDK and PojavLauncher.")]),e._v(" "),t("li",[e._v("Forge won't work.")]),e._v(" "),t("li",[e._v("Fabric API won't work.")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/PojavLauncherTeam/PojavLauncher_iOS/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tell us"),t("OutboundLink")],1),e._v(".")])]),e._v(" "),t("h3",{attrs:{id:"crashes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#crashes"}},[e._v("#")]),e._v(" Crashes")]),e._v(" "),t("ul",[t("li",[t("s",[e._v("I've got some reports that JVM was crashing after press “Play” button.")])]),e._v(" "),t("li",[t("s",[e._v("Also, it seems that checkra1n jailbroken devices will get crashed at entering Minecraft (?)")])]),e._v(" "),t("li",[e._v("They were all random crashes and will be fixed in next release.")])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/57.0d04630e.js b/assets/js/72.e75b37a6.js similarity index 93% rename from assets/js/57.0d04630e.js rename to assets/js/72.e75b37a6.js index d06a5d2c..bf8dc904 100644 --- a/assets/js/57.0d04630e.js +++ b/assets/js/72.e75b37a6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{352:function(t,n,i){"use strict";i.r(n);var e=i(7),r=Object(e.a)({},(function(){var t=this,n=t._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"pojavlauncher-wiki-images"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher-wiki-images"}},[t._v("#")]),t._v(" PojavLauncher Wiki Images")]),t._v(" "),n("p",[t._v("This directory is pretty self explanatory; it contains images used for the Wiki")]),t._v(" "),n("h2",{attrs:{id:"directory-structure"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#directory-structure"}},[t._v("#")]),t._v(" Directory Structure")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v("images\n├── Actions\n│ ├── android\n│ │ └── Android-Actions-1.png\n│ │ Android-Actions-2.png\n│ │ Android-Actions-3.png\n│ │ Android-Actions-4.png\n│ └── ios\n│ └── iOS-Actions-1.png\n│ iOS-Actions-1.png\n│ iOS-Actions-1.png \n│ iOS-Actions-1.png\n├── Screenshots\n│ ├── Controls\n│ │\n│ └── OptiFine\n│ └── OptiFine.png\n│ OptiFine-1.png\n│ OptiFine-2.png\n│ \n└── EOF (END OF DIRECTORY) \n")])])]),n("h2",{attrs:{id:"contributing-to-this-directory"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-this-directory"}},[t._v("#")]),t._v(" Contributing to this directory")]),t._v(" "),n("p",[t._v("You can:")]),t._v(" "),n("ul",[n("li",[t._v("Change images")]),t._v(" "),n("li",[t._v("Replace image with a better quality\n"),n("ul",[n("li",[t._v("Add missing images that you think is required")])])])]),t._v(" "),n("p",[t._v("Submit/Open a pull request on this repository!")]),t._v(" "),n("div",{attrs:{align:"center"}},[n("p",[n("code",[t._v("^ w ^")]),t._v(" -NeveuXon/Nev")])])])}),[],!1,null,null,null);n.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[72],{374:function(t,n,i){"use strict";i.r(n);var e=i(8),r=Object(e.a)({},(function(){var t=this,n=t._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"pojavlauncher-wiki-images"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#pojavlauncher-wiki-images"}},[t._v("#")]),t._v(" PojavLauncher Wiki Images")]),t._v(" "),n("p",[t._v("This directory is pretty self explanatory; it contains images used for the Wiki")]),t._v(" "),n("h2",{attrs:{id:"directory-structure"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#directory-structure"}},[t._v("#")]),t._v(" Directory Structure")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v("images\n├── Actions\n│ ├── android\n│ │ └── Android-Actions-1.png\n│ │ Android-Actions-2.png\n│ │ Android-Actions-3.png\n│ │ Android-Actions-4.png\n│ └── ios\n│ └── iOS-Actions-1.png\n│ iOS-Actions-1.png\n│ iOS-Actions-1.png \n│ iOS-Actions-1.png\n├── Screenshots\n│ ├── Controls\n│ │\n│ └── OptiFine\n│ └── OptiFine.png\n│ OptiFine-1.png\n│ OptiFine-2.png\n│ \n└── EOF (END OF DIRECTORY) \n")])])]),n("h2",{attrs:{id:"contributing-to-this-directory"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#contributing-to-this-directory"}},[t._v("#")]),t._v(" Contributing to this directory")]),t._v(" "),n("p",[t._v("You can:")]),t._v(" "),n("ul",[n("li",[t._v("Change images")]),t._v(" "),n("li",[t._v("Replace image with a better quality\n"),n("ul",[n("li",[t._v("Add missing images that you think is required")])])])]),t._v(" "),n("p",[t._v("Submit/Open a pull request on this repository!")]),t._v(" "),n("div",{attrs:{align:"center"}},[n("p",[n("code",[t._v("^ w ^")]),t._v(" -NeveuXon/Nev")])])])}),[],!1,null,null,null);n.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/8.982fd99a.js b/assets/js/8.982fd99a.js deleted file mode 100644 index 210a5334..00000000 --- a/assets/js/8.982fd99a.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{304:function(e,t,a){"use strict";a.r(t);var s={props:{name:{type:String,default:"default"},isolated:{type:Boolean,default:!1},languages:Object},data(){return{selectedLanguage:Object.keys(this.languages)[0]}},computed:{root(){let e,t=this;for(;e=t.$parent;)t=e;return t},localStorageKey(){return"vuepress-plugin-code-switcher@"+this.name}},methods:{switchLanguage(e){if(this.isolated)return this.selectedLanguage=e;"undefined"!=typeof localStorage&&localStorage.setItem(this.localStorageKey,e),this.root.$emit("change",{name:this.name,value:e})}},created(){if(!this.isolated){if("undefined"!=typeof localStorage){let e=localStorage.getItem(this.localStorageKey);e&&-1!==Object.keys(this.languages).indexOf(e)&&(this.selectedLanguage=e)}this.root.$on("change",({name:e,value:t})=>{e===this.name&&(this.selectedLanguage=t)})}}},n=a(7),l=Object(n.a)(s,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"code-switcher"},[t("div",{staticClass:"tab-header"},[t("ul",e._l(e.languages,(function(a,s){return t("li",{key:s,class:{active:e.selectedLanguage===s},on:{click:function(t){return e.switchLanguage(s)}}},[e._v(" "+e._s(a)+"\n ")])})),0)]),e._v(" "),e._l(e.languages,(function(a,s){return t("div",{directives:[{name:"show",rawName:"v-show",value:s===e.selectedLanguage,expression:"shorthand === selectedLanguage"}],key:s,staticClass:"tab-content"},[e._t(s)],2)}))],2)}),[],!1,null,null,null);t.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/8.98f63cd5.js b/assets/js/8.98f63cd5.js new file mode 100644 index 00000000..7fab28a0 --- /dev/null +++ b/assets/js/8.98f63cd5.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{324:function(t,e,s){"use strict";s.r(e);const o=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];var n={methods:{getMsg:()=>o[Math.floor(Math.random()*o.length)]}},i=s(8),h=Object(i.a)(n,(function(){var t=this._self._c;return t("div",{staticClass:"theme-container"},[t("div",{staticClass:"theme-succinct-content"},[t("h1",[this._v("404")]),this._v(" "),t("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),t("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=h.exports}}]); \ No newline at end of file diff --git a/assets/js/app.4a7f7b6f.js b/assets/js/app.4a7f7b6f.js new file mode 100644 index 00000000..3990e8b3 --- /dev/null +++ b/assets/js/app.4a7f7b6f.js @@ -0,0 +1,16 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function t(t){for(var o,a,s=t[0],l=t[1],c=t[2],d=0,f=[];d=t||n<0||m&&e-c>=i}function _(){var e=p();if(w(e))return S(e);s=setTimeout(_,function(e){var n=t-(e-l);return m?f(n,i-(e-c)):n}(e))}function S(e){return s=void 0,g&&o?y(e):(o=r=void 0,a)}function O(){var e=p(),n=w(e);if(o=arguments,r=this,l=e,n){if(void 0===s)return b(l);if(m)return s=setTimeout(_,t),y(l)}return void 0===s&&(s=setTimeout(_,t)),a}return t=v(t)||0,h(n)&&(u=!!n.leading,i=(m="maxWait"in n)?d(v(n.maxWait)||0,t):i,g="trailing"in n?!!n.trailing:g),O.cancel=function(){void 0!==s&&clearTimeout(s),c=0,o=l=r=s=void 0},O.flush=function(){return void 0===s?a:S(p())},O}},function(e,t,n){var o,r; +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */void 0===(r="function"==typeof(o=function(){var e,t,n={version:"0.2.0"},o=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function r(e,t,n){return en?n:e}function i(e){return 100*(-1+e)}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(o[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=r(e,o.minimum,1),n.status=1===e?null:e;var l=n.render(!t),c=l.querySelector(o.barSelector),u=o.speed,d=o.easing;return l.offsetWidth,a((function(t){""===o.positionUsing&&(o.positionUsing=n.getPositioningCSS()),s(c,function(e,t,n){var r;return(r="translate3d"===o.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===o.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+n,r}(e,u,d)),1===e?(s(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout((function(){s(l,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),o.trickleSpeed)};return o.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*r(Math.random()*t,.1,.95)),t=r(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*o.trickleRate)},e=0,t=0,n.promise=function(o){return o&&"resolved"!==o.state()?(0===t&&n.start(),e++,t++,o.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=o.template;var r,a=t.querySelector(o.barSelector),l=e?"-100":i(n.status||0),u=document.querySelector(o.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),o.showSpinner||(r=t.querySelector(o.spinnerSelector))&&f(r),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(o.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var a=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()})),t[n]||(t[n]=function(t){var n=document.body.style;if(t in n)return t;for(var o,r=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);r--;)if((o=e[r]+i)in n)return o;return t}(n))}function o(e,t,o){t=n(t),e.style[t]=o}return function(e,t){var n,r,i=arguments;if(2==i.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,i[1],i[2])}}();function l(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=d(e),o=n+t;l(n,t)||(e.className=o.substring(1))}function u(e,t){var n,o=d(e);l(e,t)&&(n=o.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?o.call(t,n,t,e):o)||(e.exports=r)},function(e,t,n){"use strict";var o=n(0),r=n(48).f,i=n(13),a=n(95),s=n(34),l=n(63),c=n(122);e.exports=function(e,t){var n,u,d,f,p,h=e.target,v=e.global,m=e.stat;if(n=v?o:m?o[h]||s(h,{}):o[h]&&o[h].prototype)for(u in t){if(f=t[u],d=e.dontCallGetSet?(p=r(n,u))&&p.value:n[u],!c(v?u:h+(m?".":"#")+u,e.forced)&&void 0!==d){if(typeof f==typeof d)continue;l(f,d)}(e.sham||d&&d.sham)&&i(f,"sham",!0),a(n,u,f,e)}}},function(e,t,n){"use strict";var o=n(26),r=Function.prototype.call;e.exports=o?r.bind(r):function(){return r.apply(r,arguments)}},function(e,t,n){"use strict";var o=n(3);e.exports=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(49),r=n(29);e.exports=function(e){return o(r(e))}},function(e,t,n){"use strict";var o=n(50),r=TypeError;e.exports=function(e){if(o(e))throw new r("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(0),r=n(1),i=function(e){return r(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(o[e]):o[e]&&o[e][t]}},function(e,t,n){"use strict";var o=n(1),r=n(104),i=TypeError;e.exports=function(e){if(o(e))return e;throw new i(r(e)+" is not a function")}},function(e,t,n){"use strict";var o=n(0),r=n(57),i=n(9),a=n(59),s=n(55),l=n(54),c=o.Symbol,u=r("wks"),d=l?c.for||c:c&&c.withoutSetter||a;e.exports=function(e){return i(u,e)||(u[e]=s&&i(c,e)?c[e]:d("Symbol."+e)),u[e]}},function(e,t,n){"use strict";var o=n(58),r=n(0),i=n(34),a=e.exports=r["__core-js_shared__"]||i("__core-js_shared__",{});(a.versions||(a.versions=[])).push({version:"3.37.1",mode:o?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE",source:"https://github.com/zloirock/core-js"})},function(e,t,n){"use strict";var o=n(0),r=Object.defineProperty;e.exports=function(e,t){try{r(o,e,{value:t,configurable:!0,writable:!0})}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(29),r=Object;e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var o=n(119);e.exports=function(e){return o(e.length)}},function(e,t,n){var o=n(146),r=n(11),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,l=o(function(){return arguments}())?o:function(e){return r(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=l},function(e,t,n){var o=n(10)(n(7),"Map");e.exports=o},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var o=n(166),r=n(173),i=n(175),a=n(176),s=n(177);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){var o=n(4),r=n(44),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(o(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!r(e))||(a.test(e)||!i.test(e)||null!=t&&e in Object(t))}},function(e,t,n){var o=n(12),r=n(11);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==o(e)}},function(e,t){e.exports=function(e){return e}},function(e,t,n){"use strict";t.a=["ThemeManager","BackToTop"]},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";var o=n(5),r=n(25),i=n(100),a=n(27),s=n(28),l=n(51),c=n(9),u=n(60),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=s(e),t=l(t),u)try{return d(e,t)}catch(e){}if(c(e,t))return a(!r(i.f,e,t),e[t])}},function(e,t,n){"use strict";var o=n(2),r=n(3),i=n(16),a=Object,s=o("".split);e.exports=r((function(){return!a("z").propertyIsEnumerable(0)}))?function(e){return"String"===i(e)?s(e,""):a(e)}:a},function(e,t,n){"use strict";e.exports=function(e){return null==e}},function(e,t,n){"use strict";var o=n(101),r=n(52);e.exports=function(e){var t=o(e,"string");return r(t)?t:t+""}},function(e,t,n){"use strict";var o=n(30),r=n(1),i=n(53),a=n(54),s=Object;e.exports=a?function(e){return"symbol"==typeof e}:function(e){var t=o("Symbol");return r(t)&&i(t.prototype,s(e))}},function(e,t,n){"use strict";var o=n(2);e.exports=o({}.isPrototypeOf)},function(e,t,n){"use strict";var o=n(55);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){"use strict";var o=n(56),r=n(3),i=n(0).String;e.exports=!!Object.getOwnPropertySymbols&&!r((function(){var e=Symbol("symbol detection");return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&o&&o<41}))},function(e,t,n){"use strict";var o,r,i=n(0),a=n(102),s=i.process,l=i.Deno,c=s&&s.versions||l&&l.version,u=c&&c.v8;u&&(r=(o=u.split("."))[0]>0&&o[0]<4?1:+(o[0]+o[1])),!r&&a&&(!(o=a.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=a.match(/Chrome\/(\d+)/))&&(r=+o[1]),e.exports=r},function(e,t,n){"use strict";var o=n(33);e.exports=function(e,t){return o[e]||(o[e]=t||{})}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(2),r=0,i=Math.random(),a=o(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+a(++r+i,36)}},function(e,t,n){"use strict";var o=n(5),r=n(3),i=n(106);e.exports=!o&&!r((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(6),r=String,i=TypeError;e.exports=function(e){if(o(e))return e;throw new i(r(e)+" is not an object")}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(9),r=n(113),i=n(48),a=n(15);e.exports=function(e,t,n){for(var s=r(t),l=a.f,c=i.f,u=0;uu))return!1;var f=l.get(e),p=l.get(t);if(f&&p)return f==t&&p==e;var h=-1,v=!0,m=2&n?new o:void 0;for(l.set(e,t),l.set(t,e);++h-1&&e%1==0&&e]/;e.exports=function(e){var t,n=""+e,r=o.exec(n);if(!r)return n;var i="",a=0,s=0;for(a=r.index;a1?1:s,n=.5*(1-Math.cos(Math.PI*a)),o=t.startX+(t.x-t.startX)*n,r=t.startY+(t.y-t.startY)*n,t.method.call(t.scrollable,o,r),o===t.x&&r===t.y||e.requestAnimationFrame(p.bind(e,t))}function h(n,o,a){var l,c,u,d,f=i();n===t.body?(l=e,c=e.scrollX||e.pageXOffset,u=e.scrollY||e.pageYOffset,d=r.scroll):(l=n,c=n.scrollLeft,u=n.scrollTop,d=s),p({scrollable:l,method:d,startTime:f,startX:c,startY:u,x:o,y:a})}}}}()},function(e,t,n){"use strict";var o=n(24),r=n(35),i=n(36),a=n(141),s=n(143);o({target:"Array",proto:!0,arity:1,forced:n(3)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function(e){var t=r(this),n=i(t),o=arguments.length;s(n+o);for(var l=0;l79&&a<83||!i("reduce")},{reduce:function(e){var t=arguments.length;return r(this,e,t,t>1?arguments[1]:void 0)}})},function(e,t,n){"use strict";var o={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!o.call({1:2},1);t.f=i?function(e){var t=r(this,e);return!!t&&t.enumerable}:o},function(e,t,n){"use strict";var o=n(25),r=n(6),i=n(52),a=n(103),s=n(105),l=n(32),c=TypeError,u=l("toPrimitive");e.exports=function(e,t){if(!r(e)||i(e))return e;var n,l=a(e,u);if(l){if(void 0===t&&(t="default"),n=o(l,e,t),!r(n)||i(n))return n;throw new c("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},function(e,t,n){"use strict";e.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},function(e,t,n){"use strict";var o=n(31),r=n(50);e.exports=function(e,t){var n=e[t];return r(n)?void 0:o(n)}},function(e,t,n){"use strict";var o=String;e.exports=function(e){try{return o(e)}catch(e){return"Object"}}},function(e,t,n){"use strict";var o=n(25),r=n(1),i=n(6),a=TypeError;e.exports=function(e,t){var n,s;if("string"===t&&r(n=e.toString)&&!i(s=o(n,e)))return s;if(r(n=e.valueOf)&&!i(s=o(n,e)))return s;if("string"!==t&&r(n=e.toString)&&!i(s=o(n,e)))return s;throw new a("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o=n(0),r=n(6),i=o.document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(3);e.exports=o&&r((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},function(e,t,n){"use strict";var o=n(5),r=n(9),i=Function.prototype,a=o&&Object.getOwnPropertyDescriptor,s=r(i,"name"),l=s&&"something"===function(){}.name,c=s&&(!o||o&&a(i,"name").configurable);e.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},function(e,t,n){"use strict";var o=n(2),r=n(1),i=n(33),a=o(Function.toString);r(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},function(e,t,n){"use strict";var o,r,i,a=n(111),s=n(0),l=n(6),c=n(13),u=n(9),d=n(33),f=n(112),p=n(62),h=s.TypeError,v=s.WeakMap;if(a||d.state){var m=d.state||(d.state=new v);m.get=m.get,m.has=m.has,m.set=m.set,o=function(e,t){if(m.has(e))throw new h("Object already initialized");return t.facade=e,m.set(e,t),t},r=function(e){return m.get(e)||{}},i=function(e){return m.has(e)}}else{var g=f("state");p[g]=!0,o=function(e,t){if(u(e,g))throw new h("Object already initialized");return t.facade=e,c(e,g,t),t},r=function(e){return u(e,g)?e[g]:{}},i=function(e){return u(e,g)}}e.exports={set:o,get:r,has:i,enforce:function(e){return i(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw new h("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(0),r=n(1),i=o.WeakMap;e.exports=r(i)&&/native code/.test(String(i))},function(e,t,n){"use strict";var o=n(57),r=n(59),i=o("keys");e.exports=function(e){return i[e]||(i[e]=r(e))}},function(e,t,n){"use strict";var o=n(30),r=n(2),i=n(114),a=n(121),s=n(61),l=r([].concat);e.exports=o("Reflect","ownKeys")||function(e){var t=i.f(s(e)),n=a.f;return n?l(t,n(e)):t}},function(e,t,n){"use strict";var o=n(115),r=n(120).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(2),r=n(9),i=n(28),a=n(116).indexOf,s=n(62),l=o([].push);e.exports=function(e,t){var n,o=i(e),c=0,u=[];for(n in o)!r(s,n)&&r(o,n)&&l(u,n);for(;t.length>c;)r(o,n=t[c++])&&(~a(u,n)||l(u,n));return u}},function(e,t,n){"use strict";var o=n(28),r=n(117),i=n(36),a=function(e){return function(t,n,a){var s=o(t),l=i(s);if(0===l)return!e&&-1;var c,u=r(a,l);if(e&&n!=n){for(;l>u;)if((c=s[u++])!=c)return!0}else for(;l>u;u++)if((e||u in s)&&s[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},function(e,t,n){"use strict";var o=n(64),r=Math.max,i=Math.min;e.exports=function(e,t){var n=o(e);return n<0?r(n+t,0):i(n,t)}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=Math.trunc||function(e){var t=+e;return(t>0?r:o)(t)}},function(e,t,n){"use strict";var o=n(64),r=Math.min;e.exports=function(e){var t=o(e);return t>0?r(t,9007199254740991):0}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(3),r=n(1),i=/#|\.prototype\./,a=function(e,t){var n=l[s(e)];return n===u||n!==c&&(r(t)?o(t):!!t)},s=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(31),r=n(35),i=n(49),a=n(36),s=TypeError,l="Reduce of empty array with no initial value",c=function(e){return function(t,n,c,u){var d=r(t),f=i(d),p=a(d);if(o(n),0===p&&c<2)throw new s(l);var h=e?p-1:0,v=e?-1:1;if(c<2)for(;;){if(h in f){u=f[h],h+=v;break}if(h+=v,e?h<0:p<=h)throw new s(l)}for(;e?h>=0:p>h;h+=v)h in f&&(u=n(u,f[h],h,d));return u}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(3);e.exports=function(e,t){var n=[][e];return!!n&&o((function(){n.call(null,t||function(){return 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(16);e.exports="process"===r(o.process)},function(e,t,n){"use strict";var o=n(24),r=n(0),i=n(127),a=n(128),s=r.WebAssembly,l=7!==new Error("e",{cause:7}).cause,c=function(e,t){var n={};n[e]=a(e,t,l),o({global:!0,constructor:!0,arity:1,forced:l},n)},u=function(e,t){if(s&&s[e]){var n={};n[e]=a("WebAssembly."+e,t,l),o({target:"WebAssembly",stat:!0,constructor:!0,arity:1,forced:l},n)}};c("Error",(function(e){return function(t){return i(e,this,arguments)}})),c("EvalError",(function(e){return function(t){return i(e,this,arguments)}})),c("RangeError",(function(e){return function(t){return i(e,this,arguments)}})),c("ReferenceError",(function(e){return function(t){return i(e,this,arguments)}})),c("SyntaxError",(function(e){return function(t){return i(e,this,arguments)}})),c("TypeError",(function(e){return function(t){return i(e,this,arguments)}})),c("URIError",(function(e){return function(t){return i(e,this,arguments)}})),u("CompileError",(function(e){return function(t){return i(e,this,arguments)}})),u("LinkError",(function(e){return function(t){return i(e,this,arguments)}})),u("RuntimeError",(function(e){return function(t){return i(e,this,arguments)}}))},function(e,t,n){"use strict";var o=n(26),r=Function.prototype,i=r.apply,a=r.call;e.exports="object"==typeof Reflect&&Reflect.apply||(o?a.bind(i):function(){return a.apply(i,arguments)})},function(e,t,n){"use strict";var o=n(30),r=n(9),i=n(13),a=n(53),s=n(65),l=n(63),c=n(132),u=n(133),d=n(134),f=n(137),p=n(138),h=n(5),v=n(58);e.exports=function(e,t,n,m){var g=m?2:1,y=e.split("."),b=y[y.length-1],w=o.apply(null,y);if(w){var _=w.prototype;if(!v&&r(_,"cause")&&delete _.cause,!n)return w;var S=o("Error"),O=t((function(e,t){var n=d(m?t:e,void 0),o=m?new w(e):new w;return void 0!==n&&i(o,"message",n),p(o,O,o.stack,2),this&&a(_,this)&&u(o,this,O),arguments.length>g&&f(o,arguments[g]),o}));if(O.prototype=_,"Error"!==b?s?s(O,S):l(O,S,{name:!0}):h&&"stackTraceLimit"in w&&(c(O,w,"stackTraceLimit"),c(O,w,"prepareStackTrace")),l(O,w),!v)try{_.name!==b&&i(_,"name",b),_.constructor=O}catch(e){}return O}}},function(e,t,n){"use strict";var o=n(2),r=n(31);e.exports=function(e,t,n){try{return o(r(Object.getOwnPropertyDescriptor(e,t)[n]))}catch(e){}}},function(e,t,n){"use strict";var o=n(131),r=String,i=TypeError;e.exports=function(e){if(o(e))return e;throw new i("Can't set "+r(e)+" as a prototype")}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){return o(e)||null===e}},function(e,t,n){"use strict";var o=n(15).f;e.exports=function(e,t,n){n in e||o(e,n,{configurable:!0,get:function(){return t[n]},set:function(e){t[n]=e}})}},function(e,t,n){"use strict";var o=n(1),r=n(6),i=n(65);e.exports=function(e,t,n){var a,s;return i&&o(a=t.constructor)&&a!==n&&r(s=a.prototype)&&s!==n.prototype&&i(e,s),e}},function(e,t,n){"use strict";var o=n(96);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:o(e)}},function(e,t,n){"use strict";var o=n(136),r=n(1),i=n(16),a=n(32)("toStringTag"),s=Object,l="Arguments"===i(function(){return arguments}());e.exports=o?i:function(e){var t,n,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=s(e),a))?n:l?i(t):"Object"===(o=i(t))&&r(t.callee)?"Arguments":o}},function(e,t,n){"use strict";var o={};o[n(32)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(6),r=n(13);e.exports=function(e,t){o(t)&&"cause"in t&&r(e,"cause",t.cause)}},function(e,t,n){"use strict";var o=n(13),r=n(139),i=n(140),a=Error.captureStackTrace;e.exports=function(e,t,n,s){i&&(a?a(e,t):o(e,"stack",r(n,s)))}},function(e,t,n){"use strict";var o=n(2),r=Error,i=o("".replace),a=String(new r("zxcasd").stack),s=/\n\s*at [^:]*:[^\n]*/,l=s.test(a);e.exports=function(e,t){if(l&&"string"==typeof e&&!r.prepareStackTrace)for(;t--;)e=i(e,s,"");return e}},function(e,t,n){"use strict";var o=n(3),r=n(27);e.exports=!o((function(){var e=new Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",r(1,7)),7!==e.stack)}))},function(e,t,n){"use strict";var o=n(5),r=n(142),i=TypeError,a=Object.getOwnPropertyDescriptor,s=o&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=s?function(e,t){if(r(e)&&!a(e,"length").writable)throw new i("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},function(e,t,n){"use strict";var o=n(16);e.exports=Array.isArray||function(e){return"Array"===o(e)}},function(e,t,n){"use strict";var o=TypeError;e.exports=function(e){if(e>9007199254740991)throw o("Maximum allowed index exceeded");return e}},function(e,t,n){var o=n(66),r=n(145);e.exports=function e(t,n,i,a,s){var l=-1,c=t.length;for(i||(i=r),s||(s=[]);++l0&&i(u)?n>1?e(u,n-1,i,a,s):o(s,u):a||(s[s.length]=u)}return s}},function(e,t,n){var o=n(14),r=n(37),i=n(4),a=o?o.isConcatSpreadable:void 0;e.exports=function(e){return i(e)||r(e)||!!(a&&e&&e[a])}},function(e,t,n){var o=n(12),r=n(11);e.exports=function(e){return r(e)&&"[object Arguments]"==o(e)}},function(e,t,n){var o=n(14),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,s=o?o.toStringTag:void 0;e.exports=function(e){var t=i.call(e,s),n=e[s];try{e[s]=void 0;var o=!0}catch(e){}var r=a.call(e);return o&&(t?e[s]=n:delete e[s]),r}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var o=n(150),r=n(206),i=n(45),a=n(4),s=n(217);e.exports=function(e){return"function"==typeof e?e:null==e?i:"object"==typeof e?a(e)?r(e[0],e[1]):o(e):s(e)}},function(e,t,n){var o=n(151),r=n(205),i=n(83);e.exports=function(e){var t=r(e);return 1==t.length&&t[0][2]?i(t[0][0],t[0][1]):function(n){return n===e||o(n,e,t)}}},function(e,t,n){var o=n(68),r=n(72);e.exports=function(e,t,n,i){var a=n.length,s=a,l=!i;if(null==e)return!s;for(e=Object(e);a--;){var c=n[a];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a-1}},function(e,t,n){var o=n(18);e.exports=function(e,t){var n=this.__data__,r=o(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}},function(e,t,n){var o=n(17);e.exports=function(){this.__data__=new o,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var o=n(17),r=n(38),i=n(40);e.exports=function(e,t){var n=this.__data__;if(n instanceof o){var a=n.__data__;if(!r||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var o=n(70),r=n(163),i=n(39),a=n(71),s=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,d=c.hasOwnProperty,f=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||r(e))&&(o(e)?f:s).test(a(e))}},function(e,t,n){var o,r=n(164),i=(o=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+o:"";e.exports=function(e){return!!i&&i in e}},function(e,t,n){var o=n(7)["__core-js_shared__"];e.exports=o},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){var o=n(167),r=n(17),i=n(38);e.exports=function(){this.size=0,this.__data__={hash:new o,map:new(i||r),string:new o}}},function(e,t,n){var o=n(168),r=n(169),i=n(170),a=n(171),s=n(172);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var o=n(74),r=n(229),i=n(234),a=n(75),s=n(235),l=n(41);e.exports=function(e,t,n){var c=-1,u=r,d=e.length,f=!0,p=[],h=p;if(n)f=!1,u=i;else if(d>=200){var v=t?null:s(e);if(v)return l(v);f=!1,u=a,h=new o}else h=t?[]:p;e:for(;++c-1}},function(e,t,n){var o=n(231),r=n(232),i=n(233);e.exports=function(e,t,n){return t==t?i(e,t,n):o(e,r,n)}},function(e,t){e.exports=function(e,t,n,o){for(var r=e.length,i=n+(o?1:-1);o?i--:++i=0&&Math.floor(t)===t&&isFinite(e)}function v(e){return a(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function m(e){return null==e?"":Array.isArray(e)||f(e)&&e.toString===d?JSON.stringify(e,g,2):String(e)}function g(e,t){return t&&t.__v_isRef?t.value:t}function y(e){var t=parseFloat(e);return isNaN(t)?e:t}function b(e,t){for(var n=Object.create(null),o=e.split(","),r=0;r-1)return e.splice(o,1)}}var S=Object.prototype.hasOwnProperty;function O(e,t){return S.call(e,t)}function x(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var k=/-(\w)/g,P=x((function(e){return e.replace(k,(function(e,t){return t?t.toUpperCase():""}))})),A=x((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),T=/\B([A-Z])/g,C=x((function(e){return e.replace(T,"-$1").toLowerCase()}));var L=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var o=arguments.length;return o?o>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function j(e,t){t=t||0;for(var n=e.length-t,o=new Array(n);n--;)o[n]=e[n+t];return o}function E(e,t){for(var n in t)e[n]=t[n];return e}function M(e){for(var t={},n=0;n0,Q=X&&X.indexOf("edge/")>0;X&&X.indexOf("android");var ee=X&&/iphone|ipad|ipod|ios/.test(X);X&&/chrome\/\d+/.test(X),X&&/phantomjs/.test(X);var te,ne=X&&X.match(/firefox\/(\d+)/),oe={}.watch,re=!1;if(K)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){re=!0}}),window.addEventListener("test-passive",null,ie)}catch(e){}var ae=function(){return void 0===te&&(te=!K&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),te},se=K&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function le(e){return"function"==typeof e&&/native code/.test(e.toString())}var ce,ue="undefined"!=typeof Symbol&&le(Symbol)&&"undefined"!=typeof Reflect&&le(Reflect.ownKeys);ce="undefined"!=typeof Set&&le(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var de=null;function fe(e){void 0===e&&(e=null),e||de&&de._scope.off(),de=e,e&&e._scope.on()}var pe=function(){function e(e,t,n,o,r,i,a,s){this.tag=e,this.data=t,this.children=n,this.text=o,this.elm=r,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(e.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),e}(),he=function(e){void 0===e&&(e="");var t=new pe;return t.text=e,t.isComment=!0,t};function ve(e){return new pe(void 0,void 0,void 0,String(e))}function me(e){var t=new pe(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}"function"==typeof SuppressedError&&SuppressedError;var ge=0,ye=[],be=function(){function e(){this._pending=!1,this.id=ge++,this.subs=[]}return e.prototype.addSub=function(e){this.subs.push(e)},e.prototype.removeSub=function(e){this.subs[this.subs.indexOf(e)]=null,this._pending||(this._pending=!0,ye.push(this))},e.prototype.depend=function(t){e.target&&e.target.addDep(this)},e.prototype.notify=function(e){var t=this.subs.filter((function(e){return e}));for(var n=0,o=t.length;n0&&(Xe((c=e(c,"".concat(n||"","_").concat(o)))[0])&&Xe(d)&&(f[u]=ve(d.text+c[0].text),c.shift()),f.push.apply(f,c)):l(c)?Xe(d)?f[u]=ve(d.text+c):""!==c&&f.push(ve(c)):Xe(c)&&Xe(d)?f[u]=ve(d.text+c.text):(s(t._isVList)&&a(c.tag)&&i(c.key)&&a(n)&&(c.key="__vlist".concat(n,"_").concat(o,"__")),f.push(c)));return f}(e):void 0}function Xe(e){return a(e)&&a(e.text)&&!1===e.isComment}function Ye(e,t){var n,o,i,s,l=null;if(r(e)||"string"==typeof e)for(l=new Array(e.length),n=0,o=e.length;n0,s=t?!!t.$stable:!a,l=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(s&&r&&r!==o&&l===r.$key&&!a&&!r.$hasNormal)return r;for(var c in i={},t)t[c]&&"$"!==c[0]&&(i[c]=mt(e,n,c,t[c]))}else i={};for(var u in n)u in i||(i[u]=gt(n,u));return t&&Object.isExtensible(t)&&(t._normalized=i),J(i,"$stable",s),J(i,"$key",l),J(i,"$hasNormal",a),i}function mt(e,t,n,o){var i=function(){var t=de;fe(e);var n=arguments.length?o.apply(null,arguments):o({}),i=(n=n&&"object"==typeof n&&!r(n)?[n]:Ke(n))&&n[0];return fe(t),n&&(!i||1===n.length&&i.isComment&&!ht(i))?void 0:n};return o.proxy&&Object.defineProperty(t,n,{get:i,enumerable:!0,configurable:!0}),i}function gt(e,t){return function(){return e[t]}}function yt(e){return{get attrs(){if(!e._attrsProxy){var t=e._attrsProxy={};J(t,"_v_attr_proxy",!0),bt(t,e.$attrs,o,e,"$attrs")}return e._attrsProxy},get listeners(){e._listenersProxy||bt(e._listenersProxy={},e.$listeners,o,e,"$listeners");return e._listenersProxy},get slots(){return function(e){e._slotsProxy||_t(e._slotsProxy={},e.$scopedSlots);return e._slotsProxy}(e)},emit:L(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return Fe(e,t,n)}))}}}function bt(e,t,n,o,r){var i=!1;for(var a in t)a in e?t[a]!==n[a]&&(i=!0):(i=!0,wt(e,a,o,r));for(var a in e)a in t||(i=!0,delete e[a]);return i}function wt(e,t,n,o){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){return n[o][t]}})}function _t(e,t){for(var n in t)e[n]=t[n];for(var n in e)n in t||delete e[n]}var St=null;function Ot(e,t){return(e.__esModule||ue&&"Module"===e[Symbol.toStringTag])&&(e=e.default),u(e)?t.extend(e):e}function xt(e){if(r(e))for(var t=0;tdocument.createEvent("Event").timeStamp&&(cn=function(){return un.now()})}var dn=function(e,t){if(e.post){if(!t.post)return 1}else if(t.post)return-1;return e.id-t.id};function fn(){var e,t;for(ln=cn(),an=!0,tn.sort(dn),sn=0;snsn&&tn[n].id>e.id;)n--;tn.splice(n+1,0,e)}else tn.push(e);rn||(rn=!0,Ut(fn))}}function hn(e,t){if(e){for(var n=Object.create(null),o=ue?Reflect.ownKeys(e):Object.keys(e),r=0;r-1)if(i&&!O(r,"default"))a=!1;else if(""===a||a===C(e)){var l=$n(String,r.type);(l<0||s-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!p(e)&&e.test(t)}function Yn(e,t){var n=e.cache,o=e.keys,r=e._vnode,i=e.$vnode;for(var a in n){var s=n[a];if(s){var l=s.name;l&&!t(l)&&Zn(n,a,o,r)}}i.componentOptions.children=void 0}function Zn(e,t,n,o){var r=e[t];!r||o&&r.tag===o.tag||r.componentInstance.$destroy(),e[t]=null,_(n,t)}qn.prototype._init=function(e){var t=this;t._uid=Hn++,t._isVue=!0,t.__v_skip=!0,t._scope=new Be(!0),t._scope.parent=void 0,t._scope._vm=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),o=t._parentVnode;n.parent=t.parent,n._parentVnode=o;var r=o.componentOptions;n.propsData=r.propsData,n._parentListeners=r.listeners,n._renderChildren=r.children,n._componentTag=r.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=Ln(Jn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._provided=n?n._provided:Object.create(null),e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Kt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,r=n&&n.context;e.$slots=ft(t._renderChildren,r),e.$scopedSlots=n?vt(e.$parent,n.data.scopedSlots,e.$slots):o,e._c=function(t,n,o,r){return kt(e,t,n,o,r,!1)},e.$createElement=function(t,n,o,r){return kt(e,t,n,o,r,!0)};var i=n&&n.data;Ee(e,"$attrs",i&&i.attrs||o,null,!0),Ee(e,"$listeners",t._parentListeners||o,null,!0)}(t),en(t,"beforeCreate",void 0,!1),function(e){var t=hn(e.$options.inject,e);t&&(Te(!1),Object.keys(t).forEach((function(n){Ee(e,n,t[n])})),Te(!0))}(t),Un(t),function(e){var t=e.$options.provide;if(t){var n=c(t)?t.call(e):t;if(!u(n))return;for(var o=Ge(e),r=ue?Reflect.ownKeys(n):Object.keys(n),i=0;i1?j(n):n;for(var o=j(arguments,1),r='event handler for "'.concat(e,'"'),i=0,a=n.length;iparseInt(this.max)&&Zn(e,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Zn(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(t){Yn(e,(function(e){return Xn(t,e)}))})),this.$watch("exclude",(function(t){Yn(e,(function(e){return!Xn(t,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,t=xt(e),n=t&&t.componentOptions;if(n){var o=Kn(n),r=this.include,i=this.exclude;if(r&&(!o||!Xn(r,o))||i&&o&&Xn(i,o))return t;var a=this.cache,s=this.keys,l=null==t.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):t.key;a[l]?(t.componentInstance=a[l].componentInstance,_(s,l),s.push(l)):(this.vnodeToCache=t,this.keyToCache=l),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return G}};Object.defineProperty(e,"config",t),e.util={warn:On,extend:E,mergeOptions:Ln,defineReactive:Ee},e.set=Me,e.delete=Ie,e.nextTick=Ut,e.observable=function(e){return je(e),e},e.options=Object.create(null),z.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,E(e.options.components,eo),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=j(arguments,1);return n.unshift(this),c(e.install)?e.install.apply(e,n):c(e)&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Ln(this.options,e),this}}(e),Wn(e),function(e){z.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&f(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&c(n)&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(qn),Object.defineProperty(qn.prototype,"$isServer",{get:ae}),Object.defineProperty(qn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(qn,"FunctionalRenderContext",{value:vn}),qn.version="2.7.16";var to=b("style,class"),no=b("input,textarea,option,select,progress"),oo=b("contenteditable,draggable,spellcheck"),ro=b("events,caret,typing,plaintext-only"),io=b("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),ao="http://www.w3.org/1999/xlink",so=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},lo=function(e){return so(e)?e.slice(6,e.length):""},co=function(e){return null==e||!1===e};function uo(e){for(var t=e.data,n=e,o=e;a(o.componentInstance);)(o=o.componentInstance._vnode)&&o.data&&(t=fo(o.data,t));for(;a(n=n.parent);)n&&n.data&&(t=fo(t,n.data));return function(e,t){if(a(e)||a(t))return po(e,ho(t));return""}(t.staticClass,t.class)}function fo(e,t){return{staticClass:po(e.staticClass,t.staticClass),class:a(e.class)?[e.class,t.class]:t.class}}function po(e,t){return e?t?e+" "+t:e:t||""}function ho(e){return Array.isArray(e)?function(e){for(var t,n="",o=0,r=e.length;o-1?Do(e,t,n):io(t)?co(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):oo(t)?e.setAttribute(t,function(e,t){return co(t)||"false"===t?"false":"contenteditable"===e&&ro(t)?t:"true"}(t,n)):so(t)?co(n)?e.removeAttributeNS(ao,lo(t)):e.setAttributeNS(ao,t,n):Do(e,t,n)}function Do(e,t,n){if(co(n))e.removeAttribute(t);else{if(Y&&!Z&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var o=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",o)};e.addEventListener("input",o),e.__ieph=!0}e.setAttribute(t,n)}}var Uo={create:$o,update:$o};function Fo(e,t){var n=t.elm,o=t.data,r=e.data;if(!(i(o.staticClass)&&i(o.class)&&(i(r)||i(r.staticClass)&&i(r.class)))){var s=uo(t),l=n._transitionClasses;a(l)&&(s=po(s,ho(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var zo,Bo={create:Fo,update:Fo};function Go(e,t,n){var o=zo;return function r(){var i=t.apply(null,arguments);null!==i&&Jo(e,r,n,o)}}var Vo=jt&&!(ne&&Number(ne[1])<=53);function Ho(e,t,n,o){if(Vo){var r=ln,i=t;t=i._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=r||e.timeStamp<=0||e.target.ownerDocument!==document)return i.apply(this,arguments)}}zo.addEventListener(e,t,re?{capture:n,passive:o}:n)}function Jo(e,t,n,o){(o||zo).removeEventListener(e,t._wrapper||t,n)}function qo(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},o=e.data.on||{};zo=t.elm||e.elm,function(e){if(a(e.__r)){var t=Y?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}a(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),Je(n,o,Ho,Jo,Go,t.context),zo=void 0}}var Wo,Ko={create:qo,update:qo,destroy:function(e){return qo(e,ko)}};function Xo(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,o,r=t.elm,l=e.data.domProps||{},c=t.data.domProps||{};for(n in(a(c.__ob__)||s(c._v_attr_proxy))&&(c=t.data.domProps=E({},c)),l)n in c||(r[n]="");for(n in c){if(o=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),o===l[n])continue;1===r.childNodes.length&&r.removeChild(r.childNodes[0])}if("value"===n&&"PROGRESS"!==r.tagName){r._value=o;var u=i(o)?"":String(o);Yo(r,u)&&(r.value=u)}else if("innerHTML"===n&&go(r.tagName)&&i(r.innerHTML)){(Wo=Wo||document.createElement("div")).innerHTML="".concat(o,"");for(var d=Wo.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;d.firstChild;)r.appendChild(d.firstChild)}else if(o!==l[n])try{r[n]=o}catch(e){}}}}function Yo(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,o=e._vModifiers;if(a(o)){if(o.number)return y(n)!==y(t);if(o.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var Zo={create:Xo,update:Xo},Qo=x((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var o=e.split(n);o.length>1&&(t[o[0].trim()]=o[1].trim())}})),t}));function er(e){var t=tr(e.style);return e.staticStyle?E(e.staticStyle,t):t}function tr(e){return Array.isArray(e)?M(e):"string"==typeof e?Qo(e):e}var nr,or=/^--/,rr=/\s*!important$/,ir=function(e,t,n){if(or.test(t))e.style.setProperty(t,n);else if(rr.test(n))e.style.setProperty(C(t),n.replace(rr,""),"important");else{var o=sr(t);if(Array.isArray(n))for(var r=0,i=n.length;r-1?t.split(ur).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" ".concat(e.getAttribute("class")||""," ");n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function fr(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(ur).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" ".concat(e.getAttribute("class")||""," "),o=" "+t+" ";n.indexOf(o)>=0;)n=n.replace(o," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function pr(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&E(t,hr(e.name||"v")),E(t,e),t}return"string"==typeof e?hr(e):void 0}}var hr=x((function(e){return{enterClass:"".concat(e,"-enter"),enterToClass:"".concat(e,"-enter-to"),enterActiveClass:"".concat(e,"-enter-active"),leaveClass:"".concat(e,"-leave"),leaveToClass:"".concat(e,"-leave-to"),leaveActiveClass:"".concat(e,"-leave-active")}})),vr=K&&!Z,mr="transition",gr="transitionend",yr="animation",br="animationend";vr&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(mr="WebkitTransition",gr="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(yr="WebkitAnimation",br="webkitAnimationEnd"));var wr=K?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function _r(e){wr((function(){wr(e)}))}function Sr(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),dr(e,t))}function Or(e,t){e._transitionClasses&&_(e._transitionClasses,t),fr(e,t)}function xr(e,t,n){var o=Pr(e,t),r=o.type,i=o.timeout,a=o.propCount;if(!r)return n();var s="transition"===r?gr:br,l=0,c=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++l>=a&&c()};setTimeout((function(){l0&&(n="transition",u=a,d=i.length):"animation"===t?c>0&&(n="animation",u=c,d=l.length):d=(n=(u=Math.max(a,c))>0?a>c?"transition":"animation":null)?"transition"===n?i.length:l.length:0,{type:n,timeout:u,propCount:d,hasTransform:"transition"===n&&kr.test(o[mr+"Property"])}}function Ar(e,t){for(;e.length1}function Mr(e,t){!0!==t.data.show&&Cr(t)}var Ir=function(e){var t,n,o={},c=e.modules,u=e.nodeOps;for(t=0;th?w(e,i(n[g+1])?null:n[g+1].elm,n,p,g,o):p>g&&S(t,d,h)}(d,v,g,n,c):a(g)?(a(e.text)&&u.setTextContent(d,""),w(d,null,g,0,g.length-1,n)):a(v)?S(v,0,v.length-1):a(e.text)&&u.setTextContent(d,""):e.text!==t.text&&u.setTextContent(d,t.text),a(h)&&a(p=h.hook)&&a(p=p.postpatch)&&p(e,t)}}}function P(e,t,n){if(s(n)&&a(e.parent))e.parent.data.pendingInsert=t;else for(var o=0;o-1,a.selected!==i&&(a.selected=i);else if(N(Ur(a),o))return void(e.selectedIndex!==s&&(e.selectedIndex=s));r||(e.selectedIndex=-1)}}function Dr(e,t){return t.every((function(t){return!N(t,e)}))}function Ur(e){return"_value"in e?e._value:e.value}function Fr(e){e.target.composing=!0}function zr(e){e.target.composing&&(e.target.composing=!1,Br(e.target,"input"))}function Br(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Gr(e){return!e.componentInstance||e.data&&e.data.transition?e:Gr(e.componentInstance._vnode)}var Vr={model:Rr,show:{bind:function(e,t,n){var o=t.value,r=(n=Gr(n)).data&&n.data.transition,i=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;o&&r?(n.data.show=!0,Cr(n,(function(){e.style.display=i}))):e.style.display=o?i:"none"},update:function(e,t,n){var o=t.value;!o!=!t.oldValue&&((n=Gr(n)).data&&n.data.transition?(n.data.show=!0,o?Cr(n,(function(){e.style.display=e.__vOriginalDisplay})):Lr(n,(function(){e.style.display="none"}))):e.style.display=o?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,o,r){r||(e.style.display=e.__vOriginalDisplay)}}},Hr={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Jr(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Jr(xt(t.children)):e}function qr(e){var t={},n=e.$options;for(var o in n.propsData)t[o]=e[o];var r=n._parentListeners;for(var o in r)t[P(o)]=r[o];return t}function Wr(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Kr=function(e){return e.tag||ht(e)},Xr=function(e){return"show"===e.name},Yr={name:"transition",props:Hr,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(Kr)).length){0;var o=this.mode;0;var r=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return r;var i=Jr(r);if(!i)return r;if(this._leaving)return Wr(e,r);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:l(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=qr(this),c=this._vnode,u=Jr(c);if(i.data.directives&&i.data.directives.some(Xr)&&(i.data.show=!0),u&&u.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(i,u)&&!ht(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var d=u.data.transition=E({},s);if("out-in"===o)return this._leaving=!0,qe(d,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),Wr(e,r);if("in-out"===o){if(ht(i))return c;var f,p=function(){f()};qe(s,"afterEnter",p),qe(s,"enterCancelled",p),qe(d,"delayLeave",(function(e){f=e}))}}return r}}},Zr=E({tag:String,moveClass:String},Hr);function Qr(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function ei(e){e.data.newPos=e.elm.getBoundingClientRect()}function ti(e){var t=e.data.pos,n=e.data.newPos,o=t.left-n.left,r=t.top-n.top;if(o||r){e.data.moved=!0;var i=e.elm.style;i.transform=i.WebkitTransform="translate(".concat(o,"px,").concat(r,"px)"),i.transitionDuration="0s"}}delete Zr.mode;var ni={Transition:Yr,TransitionGroup:{props:Zr,beforeMount:function(){var e=this,t=this._update;this._update=function(n,o){var r=Yt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,r(),t.call(e,n,o)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),o=this.prevChildren=this.children,r=this.$slots.default||[],i=this.children=[],a=qr(this),s=0;s-1?bo[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:bo[e]=/HTMLUnknownElement/.test(t.toString())},E(qn.options.directives,Vr),E(qn.options.components,ni),qn.prototype.__patch__=K?Ir:I,qn.prototype.$mount=function(e,t){return function(e,t,n){var o;e.$el=t,e.$options.render||(e.$options.render=he),en(e,"beforeMount"),o=function(){e._update(e._render(),n)},new Ht(e,o,I,{before:function(){e._isMounted&&!e._isDestroyed&&en(e,"beforeUpdate")}},!0),n=!1;var r=e._preWatchers;if(r)for(var i=0;i=0&&(t=e.slice(o),e=e.slice(0,o));var r=e.indexOf("?");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{path:e,query:n,hash:t}}(r.path||""),c=t&&t.path||"/",u=l.path?Oi(l.path,c,n||r.append):c,d=function(e,t,n){void 0===t&&(t={});var o,r=n||ui;try{o=r(e||"")}catch(e){o={}}for(var i in t){var a=t[i];o[i]=Array.isArray(a)?a.map(ci):ci(a)}return o}(l.query,r.query,o&&o.options.parseQuery),f=r.hash||l.hash;return f&&"#"!==f.charAt(0)&&(f="#"+f),{_normalized:!0,path:u,query:d,hash:f}}var Vi,Hi=function(){},Ji={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(e){var t=this,n=this.$router,o=this.$route,r=n.resolve(this.to,o,this.append),i=r.location,a=r.route,s=r.href,l={},c=n.options.linkActiveClass,u=n.options.linkExactActiveClass,d=null==c?"router-link-active":c,f=null==u?"router-link-exact-active":u,p=null==this.activeClass?d:this.activeClass,h=null==this.exactActiveClass?f:this.exactActiveClass,v=a.redirectedFrom?pi(null,Gi(a.redirectedFrom),null,n):a;l[h]=yi(o,v,this.exactPath),l[p]=this.exact||this.exactPath?l[h]:function(e,t){return 0===e.path.replace(fi,"/").indexOf(t.path.replace(fi,"/"))&&(!t.hash||e.hash===t.hash)&&function(e,t){for(var n in t)if(!(n in e))return!1;return!0}(e.query,t.query)}(o,v);var m=l[h]?this.ariaCurrentValue:null,g=function(e){qi(e)&&(t.replace?n.replace(i,Hi):n.push(i,Hi))},y={click:qi};Array.isArray(this.event)?this.event.forEach((function(e){y[e]=g})):y[this.event]=g;var b={class:l},w=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:s,route:a,navigate:g,isActive:l[p],isExactActive:l[h]});if(w){if(1===w.length)return w[0];if(w.length>1||!w.length)return 0===w.length?e():e("span",{},w)}if("a"===this.tag)b.on=y,b.attrs={href:s,"aria-current":m};else{var _=function e(t){var n;if(t)for(var o=0;o-1&&(s.params[f]=n.params[f]);return s.path=Bi(u.path,s.params),l(u,s,a)}if(s.path){s.params={};for(var p=0;p-1}function xa(e,t){return Oa(e)&&e._isRouter&&(null==t||e.type===t)}function ka(e,t,n){var o=function(r){r>=e.length?n():e[r]?t(e[r],(function(){o(r+1)})):o(r+1)};o(0)}function Pa(e){return function(t,n,o){var r=!1,i=0,a=null;Aa(e,(function(e,t,n,s){if("function"==typeof e&&void 0===e.cid){r=!0,i++;var l,c=La((function(t){var r;((r=t).__esModule||Ca&&"Module"===r[Symbol.toStringTag])&&(t=t.default),e.resolved="function"==typeof t?t:Vi.extend(t),n.components[s]=t,--i<=0&&o()})),u=La((function(e){var t="Failed to resolve async component "+s+": "+e;a||(a=Oa(e)?e:new Error(t),o(a))}));try{l=e(c,u)}catch(e){u(e)}if(l)if("function"==typeof l.then)l.then(c,u);else{var d=l.component;d&&"function"==typeof d.then&&d.then(c,u)}}})),r||o()}}function Aa(e,t){return Ta(e.map((function(e){return Object.keys(e.components).map((function(n){return t(e.components[n],e.instances[n],e,n)}))})))}function Ta(e){return Array.prototype.concat.apply([],e)}var Ca="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function La(e){var t=!1;return function(){for(var n=[],o=arguments.length;o--;)n[o]=arguments[o];if(!t)return t=!0,e.apply(this,n)}}var ja=function(e,t){this.router=e,this.base=function(e){if(!e)if(Wi){var t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(t),this.current=vi,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function Ea(e,t,n,o){var r=Aa(e,(function(e,o,r,i){var a=function(e,t){"function"!=typeof e&&(e=Vi.extend(e));return e.options[t]}(e,t);if(a)return Array.isArray(a)?a.map((function(e){return n(e,o,r,i)})):n(a,o,r,i)}));return Ta(o?r.reverse():r)}function Ma(e,t){if(t)return function(){return e.apply(t,arguments)}}ja.prototype.listen=function(e){this.cb=e},ja.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))},ja.prototype.onError=function(e){this.errorCbs.push(e)},ja.prototype.transitionTo=function(e,t,n){var o,r=this;try{o=this.router.match(e,this.current)}catch(e){throw this.errorCbs.forEach((function(t){t(e)})),e}var i=this.current;this.confirmTransition(o,(function(){r.updateRoute(o),t&&t(o),r.ensureURL(),r.router.afterHooks.forEach((function(e){e&&e(o,i)})),r.ready||(r.ready=!0,r.readyCbs.forEach((function(e){e(o)})))}),(function(e){n&&n(e),e&&!r.ready&&(xa(e,ya.redirected)&&i===vi||(r.ready=!0,r.readyErrorCbs.forEach((function(t){t(e)}))))}))},ja.prototype.confirmTransition=function(e,t,n){var o=this,r=this.current;this.pending=e;var i,a,s=function(e){!xa(e)&&Oa(e)&&(o.errorCbs.length?o.errorCbs.forEach((function(t){t(e)})):console.error(e)),n&&n(e)},l=e.matched.length-1,c=r.matched.length-1;if(yi(e,r)&&l===c&&e.matched[l]===r.matched[c])return this.ensureURL(),e.hash&&aa(this.router,r,e,!1),s(((a=_a(i=r,e,ya.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var u=function(e,t){var n,o=Math.max(e.length,t.length);for(n=0;n0)){var t=this.router,n=t.options.scrollBehavior,o=va&&n;o&&this.listeners.push(ia());var r=function(){var n=e.current,r=Ra(e.base);e.current===vi&&r===e._startLocation||e.transitionTo(r,(function(e){o&&aa(t,e,n,!0)}))};window.addEventListener("popstate",r),this.listeners.push((function(){window.removeEventListener("popstate",r)}))}},t.prototype.go=function(e){window.history.go(e)},t.prototype.push=function(e,t,n){var o=this,r=this.current;this.transitionTo(e,(function(e){ma(xi(o.base+e.fullPath)),aa(o.router,e,r,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var o=this,r=this.current;this.transitionTo(e,(function(e){ga(xi(o.base+e.fullPath)),aa(o.router,e,r,!1),t&&t(e)}),n)},t.prototype.ensureURL=function(e){if(Ra(this.base)!==this.current.fullPath){var t=xi(this.base+this.current.fullPath);e?ma(t):ga(t)}},t.prototype.getCurrentLocation=function(){return Ra(this.base)},t}(ja);function Ra(e){var t=window.location.pathname,n=t.toLowerCase(),o=e.toLowerCase();return!e||n!==o&&0!==n.indexOf(xi(o+"/"))||(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash}var $a=function(e){function t(t,n,o){e.call(this,t,n),o&&function(e){var t=Ra(e);if(!/^\/#/.test(t))return window.location.replace(xi(e+"/#"+t)),!0}(this.base)||Na()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var t=this.router.options.scrollBehavior,n=va&&t;n&&this.listeners.push(ia());var o=function(){var t=e.current;Na()&&e.transitionTo(Da(),(function(o){n&&aa(e.router,o,t,!0),va||za(o.fullPath)}))},r=va?"popstate":"hashchange";window.addEventListener(r,o),this.listeners.push((function(){window.removeEventListener(r,o)}))}},t.prototype.push=function(e,t,n){var o=this,r=this.current;this.transitionTo(e,(function(e){Fa(e.fullPath),aa(o.router,e,r,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var o=this,r=this.current;this.transitionTo(e,(function(e){za(e.fullPath),aa(o.router,e,r,!1),t&&t(e)}),n)},t.prototype.go=function(e){window.history.go(e)},t.prototype.ensureURL=function(e){var t=this.current.fullPath;Da()!==t&&(e?Fa(t):za(t))},t.prototype.getCurrentLocation=function(){return Da()},t}(ja);function Na(){var e=Da();return"/"===e.charAt(0)||(za("/"+e),!1)}function Da(){var e=window.location.href,t=e.indexOf("#");return t<0?"":e=e.slice(t+1)}function Ua(e){var t=window.location.href,n=t.indexOf("#");return(n>=0?t.slice(0,n):t)+"#"+e}function Fa(e){va?ma(Ua(e)):window.location.hash=e}function za(e){va?ga(Ua(e)):window.location.replace(Ua(e))}var Ba=function(e){function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.push=function(e,t,n){var o=this;this.transitionTo(e,(function(e){o.stack=o.stack.slice(0,o.index+1).concat(e),o.index++,t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var o=this;this.transitionTo(e,(function(e){o.stack=o.stack.slice(0,o.index).concat(e),t&&t(e)}),n)},t.prototype.go=function(e){var t=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var o=this.stack[n];this.confirmTransition(o,(function(){var e=t.current;t.index=n,t.updateRoute(o),t.router.afterHooks.forEach((function(t){t&&t(o,e)}))}),(function(e){xa(e,ya.duplicated)&&(t.index=n)}))}},t.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},t.prototype.ensureURL=function(){},t}(ja),Ga=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Yi(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback="history"===t&&!va&&!1!==e.fallback,this.fallback&&(t="hash"),Wi||(t="abstract"),this.mode=t,t){case"history":this.history=new Ia(this,e.base);break;case"hash":this.history=new $a(this,e.base,this.fallback);break;case"abstract":this.history=new Ba(this,e.base);break;default:0}},Va={currentRoute:{configurable:!0}};Ga.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)},Va.currentRoute.get=function(){return this.history&&this.history.current},Ga.prototype.init=function(e){var t=this;if(this.apps.push(e),e.$once("hook:destroyed",(function(){var n=t.apps.indexOf(e);n>-1&&t.apps.splice(n,1),t.app===e&&(t.app=t.apps[0]||null),t.app||t.history.teardown()})),!this.app){this.app=e;var n=this.history;if(n instanceof Ia||n instanceof $a){var o=function(e){n.setupListeners(),function(e){var o=n.current,r=t.options.scrollBehavior;va&&r&&"fullPath"in e&&aa(t,e,o,!1)}(e)};n.transitionTo(n.getCurrentLocation(),o,o)}n.listen((function(e){t.apps.forEach((function(t){t._route=e}))}))}},Ga.prototype.beforeEach=function(e){return Ja(this.beforeHooks,e)},Ga.prototype.beforeResolve=function(e){return Ja(this.resolveHooks,e)},Ga.prototype.afterEach=function(e){return Ja(this.afterHooks,e)},Ga.prototype.onReady=function(e,t){this.history.onReady(e,t)},Ga.prototype.onError=function(e){this.history.onError(e)},Ga.prototype.push=function(e,t,n){var o=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){o.history.push(e,t,n)}));this.history.push(e,t,n)},Ga.prototype.replace=function(e,t,n){var o=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){o.history.replace(e,t,n)}));this.history.replace(e,t,n)},Ga.prototype.go=function(e){this.history.go(e)},Ga.prototype.back=function(){this.go(-1)},Ga.prototype.forward=function(){this.go(1)},Ga.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map((function(e){return Object.keys(e.components).map((function(t){return e.components[t]}))}))):[]},Ga.prototype.resolve=function(e,t,n){var o=Gi(e,t=t||this.history.current,n,this),r=this.match(o,t),i=r.redirectedFrom||r.fullPath;return{location:o,route:r,href:function(e,t,n){var o="hash"===n?"#"+t:t;return e?xi(e+"/"+o):o}(this.history.base,i,this.mode),normalizedTo:o,resolved:r}},Ga.prototype.getRoutes=function(){return this.matcher.getRoutes()},Ga.prototype.addRoute=function(e,t){this.matcher.addRoute(e,t),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Ga.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==vi&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Ga.prototype,Va);var Ha=Ga;function Ja(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}Ga.install=function e(t){if(!e.installed||Vi!==t){e.installed=!0,Vi=t;var n=function(e){return void 0!==e},o=function(e,t){var o=e.$options._parentVnode;n(o)&&n(o=o.data)&&n(o=o.registerRouteInstance)&&o(e,t)};t.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,o(this,this)},destroyed:function(){o(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",_i),t.component("RouterLink",Ji);var r=t.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}},Ga.version="3.6.5",Ga.isNavigationFailure=xa,Ga.NavigationFailureType=ya,Ga.START_LOCATION=vi,Wi&&window.Vue&&window.Vue.use(Ga);n(99);n(126),n(93);var qa={"components/AlgoliaSearchBox":()=>Promise.all([n.e(0),n.e(15)]).then(n.bind(null,321)),"components/DropdownLink":()=>Promise.all([n.e(0),n.e(16)]).then(n.bind(null,264)),"components/DropdownTransition":()=>Promise.all([n.e(0),n.e(22)]).then(n.bind(null,252)),"components/Home":()=>Promise.all([n.e(0),n.e(18)]).then(n.bind(null,292)),"components/NavLink":()=>n.e(24).then(n.bind(null,251)),"components/NavLinks":()=>Promise.all([n.e(0),n.e(12)]).then(n.bind(null,276)),"components/Navbar":()=>Promise.all([n.e(0),n.e(1)]).then(n.bind(null,318)),"components/Page":()=>Promise.all([n.e(0),n.e(13)]).then(n.bind(null,293)),"components/PageEdit":()=>Promise.all([n.e(0),n.e(19)]).then(n.bind(null,278)),"components/PageNav":()=>Promise.all([n.e(0),n.e(17)]).then(n.bind(null,279)),"components/Sidebar":()=>Promise.all([n.e(0),n.e(11)]).then(n.bind(null,294)),"components/SidebarButton":()=>Promise.all([n.e(0),n.e(23)]).then(n.bind(null,295)),"components/SidebarGroup":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,277)),"components/SidebarLink":()=>Promise.all([n.e(0),n.e(20)]).then(n.bind(null,266)),"components/SidebarLinks":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,263)),"global-components/Badge":()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,328)),"global-components/CodeBlock":()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,322)),"global-components/CodeGroup":()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,323)),"layouts/404":()=>n.e(8).then(n.bind(null,324)),"layouts/Layout":()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,325)),NotFound:()=>n.e(8).then(n.bind(null,324)),Layout:()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,325)),"components/ThemeSwitcher":()=>n.e(26).then(n.bind(null,265)),"global-components/ThemeManager":()=>n.e(7).then(n.bind(null,326))},Wa={"v-06f3c5ef":()=>n.e(27).then(n.bind(null,329)),"v-0c31170f":()=>n.e(29).then(n.bind(null,330)),"v-6d103c0f":()=>n.e(28).then(n.bind(null,331)),"v-7be33f55":()=>n.e(30).then(n.bind(null,332)),"v-31887371":()=>n.e(32).then(n.bind(null,333)),"v-592ee76f":()=>n.e(31).then(n.bind(null,334)),"v-4e22b48a":()=>n.e(34).then(n.bind(null,335)),"v-81274ae2":()=>n.e(35).then(n.bind(null,336)),"v-345a158f":()=>n.e(36).then(n.bind(null,337)),"v-563ba2e2":()=>n.e(37).then(n.bind(null,338)),"v-225394af":()=>n.e(33).then(n.bind(null,339)),"v-64989b6f":()=>n.e(39).then(n.bind(null,340)),"v-f522bdba":()=>n.e(40).then(n.bind(null,341)),"v-42c06637":()=>n.e(38).then(n.bind(null,342)),"v-d825f8e2":()=>n.e(42).then(n.bind(null,343)),"v-9676641e":()=>n.e(41).then(n.bind(null,344)),"v-de1236aa":()=>n.e(43).then(n.bind(null,345)),"v-d168dba2":()=>n.e(44).then(n.bind(null,346)),"v-6b9f262f":()=>n.e(14).then(n.bind(null,347)),"v-beda3462":()=>n.e(45).then(n.bind(null,348)),"v-ab47dc22":()=>n.e(46).then(n.bind(null,349)),"v-003c2faf":()=>n.e(47).then(n.bind(null,350)),"v-7a85af9e":()=>n.e(48).then(n.bind(null,351)),"v-010d50e2":()=>n.e(50).then(n.bind(null,352)),"v-d732ddea":()=>n.e(51).then(n.bind(null,353)),"v-f8efcd22":()=>n.e(49).then(n.bind(null,354)),"v-2a5ebdfe":()=>n.e(53).then(n.bind(null,355)),"v-e815d23e":()=>n.e(54).then(n.bind(null,356)),"v-3eadfe49":()=>n.e(52).then(n.bind(null,357)),"v-b555e268":()=>n.e(56).then(n.bind(null,358)),"v-c6805a6a":()=>n.e(55).then(n.bind(null,359)),"v-9b08b72a":()=>n.e(57).then(n.bind(null,360)),"v-a4d8fe62":()=>n.e(59).then(n.bind(null,361)),"v-fc8dde62":()=>n.e(58).then(n.bind(null,362)),"v-1b47640f":()=>n.e(60).then(n.bind(null,363)),"v-a6521322":()=>n.e(61).then(n.bind(null,364)),"v-751f9e23":()=>n.e(63).then(n.bind(null,365)),"v-051fd6ef":()=>n.e(64).then(n.bind(null,366)),"v-5ed8efd6":()=>n.e(62).then(n.bind(null,367)),"v-687695a2":()=>n.e(65).then(n.bind(null,368)),"v-98819f36":()=>n.e(66).then(n.bind(null,369)),"v-72831da2":()=>n.e(67).then(n.bind(null,370)),"v-66a0075c":()=>n.e(68).then(n.bind(null,371)),"v-1e60c8e2":()=>n.e(69).then(n.bind(null,372)),"v-cb4c1c86":()=>n.e(70).then(n.bind(null,373)),"v-7e90673c":()=>n.e(72).then(n.bind(null,374)),"v-7fc82f01":()=>n.e(71).then(n.bind(null,375))};function Ka(e){const t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}const Xa=/-(\w)/g,Ya=Ka(e=>e.replace(Xa,(e,t)=>t?t.toUpperCase():"")),Za=/\B([A-Z])/g,Qa=Ka(e=>e.replace(Za,"-$1").toLowerCase()),es=Ka(e=>e.charAt(0).toUpperCase()+e.slice(1));function ts(e,t){if(!t)return;if(e(t))return e(t);return t.includes("-")?e(es(Ya(t))):e(es(t))||e(Qa(t))}const ns=Object.assign({},qa,Wa),os=e=>ns[e],rs=e=>Wa[e],is=e=>qa[e],as=e=>qn.component(e);function ss(e){return ts(rs,e)}function ls(e){return ts(is,e)}function cs(e){return ts(os,e)}function us(e){return ts(as,e)}function ds(...e){return Promise.all(e.filter(e=>e).map(async e=>{if(!us(e)&&cs(e)){const t=await cs(e)();qn.component(e,t.default)}}))}function fs(e,t){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[e]=t)}var ps=n(90),hs=n.n(ps),vs=n(91),ms=n.n(vs),gs={created(){if(this.siteMeta=this.$site.headTags.filter(([e])=>"meta"===e).map(([e,t])=>t),this.$ssrContext){const t=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(e=t)?e.map(e=>{let t="{t+=` ${n}="${ms()(e[n])}"`}),t+">"}).join("\n "):"",this.$ssrContext.canonicalLink=bs(this.$canonicalUrl)}var e},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const e=this.getMergedMetaTags();this.currentMetaTags=ws(e,this.currentMetaTags)},getMergedMetaTags(){const e=this.$page.frontmatter.meta||[];return hs()([{name:"description",content:this.$description}],e,this.siteMeta,_s)},updateCanonicalLink(){ys(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",bs(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){ws(null,this.currentMetaTags),ys()}};function ys(){const e=document.querySelector("link[rel='canonical']");e&&e.remove()}function bs(e=""){return e?``:""}function ws(e,t){if(t&&[...t].filter(e=>e.parentNode===document.head).forEach(e=>document.head.removeChild(e)),e)return e.map(e=>{const t=document.createElement("meta");return Object.keys(e).forEach(n=>{t.setAttribute(n,e[n])}),document.head.appendChild(t),t})}function _s(e){for(const t of["name","property","itemprop"])if(e.hasOwnProperty(t))return e[t]+t;return JSON.stringify(e)}var Ss=n(22),Os=n.n(Ss),xs={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:Os()((function(){this.setActiveHash()}),300),setActiveHash(){const e=[].slice.call(document.querySelectorAll(".sidebar-link")),t=[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(e=>e.hash===t.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),o=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),r=window.innerHeight+n;for(let e=0;e=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},ks=n(23),Ps=n.n(ks),As={mounted(){Ps.a.configure({showSpinner:!1}),this.$router.beforeEach((e,t,n)=>{e.path===t.path||qn.component(e.name)||Ps.a.start(),n()}),this.$router.afterEach(()=>{Ps.a.done(),this.isSidebarOpen=!1})}},Ts={props:{parent:Object,code:String,options:{align:String,color:String,backgroundTransition:Boolean,backgroundColor:String,successText:String,staticIcon:Boolean}},data:()=>({success:!1,originalBackground:null,originalTransition:null}),computed:{alignStyle(){let e={};return e[this.options.align]="7.5px",e},iconClass(){return this.options.staticIcon?"":"hover"}},mounted(){this.originalTransition=this.parent.style.transition,this.originalBackground=this.parent.style.background},beforeDestroy(){this.parent.style.transition=this.originalTransition,this.parent.style.background=this.originalBackground},methods:{hexToRgb(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null},copyToClipboard(e){if(navigator.clipboard)navigator.clipboard.writeText(this.code).then(()=>{this.setSuccessTransitions()},()=>{});else{let e=document.createElement("textarea");document.body.appendChild(e),e.value=this.code,e.select(),document.execCommand("Copy"),e.remove(),this.setSuccessTransitions()}},setSuccessTransitions(){if(clearTimeout(this.successTimeout),this.options.backgroundTransition){this.parent.style.transition="background 350ms";let e=this.hexToRgb(this.options.backgroundColor);this.parent.style.background=`rgba(${e.r}, ${e.g}, ${e.b}, 0.1)`}this.success=!0,this.successTimeout=setTimeout(()=>{this.options.backgroundTransition&&(this.parent.style.background=this.originalBackground,this.parent.style.transition=this.originalTransition),this.success=!1},500)}}},Cs=(n(238),n(8)),Ls=Object(Cs.a)(Ts,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"code-copy"},[t("svg",{class:e.iconClass,style:e.alignStyle,attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},on:{click:e.copyToClipboard}},[t("path",{attrs:{fill:"none",d:"M0 0h24v24H0z"}}),e._v(" "),t("path",{attrs:{fill:e.options.color,d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4l6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"}})]),e._v(" "),t("span",{class:e.success?"success":"",style:e.alignStyle},[e._v("\n "+e._s(e.options.successText)+"\n ")])])}),[],!1,null,"49140617",null).exports,js=(n(239),{updated(){this.update()},methods:{update(){setTimeout(()=>{document.querySelectorAll('div[class*="language-"] pre').forEach(e=>{if(e.classList.contains("code-copy-added"))return;let t=new(qn.extend(Ls));t.options={align:"bottom",color:"#27b1ff",backgroundTransition:!0,backgroundColor:"#0075b8",successText:"Copied!",staticIcon:!1},t.code=e.innerText,t.parent=e,t.$mount(),e.classList.add("code-copy-added"),e.appendChild(t.$el)})},100)}}}),Es=n(92),Ms=n.n(Es),Is=(n(240),{mounted(){Ms.a.polyfill()}}),Rs=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},o=window.Promise||function(e){function t(){}e(t,t)},r=function(e){var t=e.target;t!==k?-1!==b.indexOf(t)&&v({target:t}):h()},i=function(){if(!_&&x.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(S-e)>O.scrollOffset&&setTimeout(h,150)}},a=function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||h()},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e;if(e.background&&(k.style.background=e.background),e.container&&e.container instanceof Object&&(t.container=Rs({},O.container,e.container)),e.template){var n=Ns(e.template)?e.template:document.querySelector(e.template);t.template=n}return O=Rs({},O,t),b.forEach((function(e){e.dispatchEvent(Bs("medium-zoom:update",{detail:{zoom:P}}))})),P},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e(Rs({},O,t))},c=function(){for(var e=arguments.length,t=Array(e),n=0;n0?t.reduce((function(e,t){return[].concat(e,Us(t))}),[]):b;return o.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(Bs("medium-zoom:detach",{detail:{zoom:P}}))})),b=b.filter((function(e){return-1===o.indexOf(e)})),P},d=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return b.forEach((function(o){o.addEventListener("medium-zoom:"+e,t,n)})),w.push({type:"medium-zoom:"+e,listener:t,options:n}),P},f=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return b.forEach((function(o){o.removeEventListener("medium-zoom:"+e,t,n)})),w=w.filter((function(n){return!(n.type==="medium-zoom:"+e&&n.listener.toString()===t.toString())})),P},p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(O.container)if(O.container instanceof Object)t=(e=Rs({},e,O.container)).width-e.left-e.right-2*O.margin,n=e.height-e.top-e.bottom-2*O.margin;else{var o=(Ns(O.container)?O.container:document.querySelector(O.container)).getBoundingClientRect(),r=o.width,i=o.height,a=o.left,s=o.top;e=Rs({},e,{width:r,height:i,left:a,top:s})}t=t||e.width-2*O.margin,n=n||e.height-2*O.margin;var l=x.zoomedHd||x.original,c=Ds(l)?t:l.naturalWidth||t,u=Ds(l)?n:l.naturalHeight||n,d=l.getBoundingClientRect(),f=d.top,p=d.left,h=d.width,v=d.height,m=Math.min(Math.max(h,c),t)/h,g=Math.min(Math.max(v,u),n)/v,y=Math.min(m,g),b="scale("+y+") translate3d("+((t-h)/2-p+O.margin+e.left)/y+"px, "+((n-v)/2-f+O.margin+e.top)/y+"px, 0)";x.zoomed.style.transform=b,x.zoomedHd&&(x.zoomedHd.style.transform=b)};return new o((function(e){if(t&&-1===b.indexOf(t))e(P);else{if(x.zoomed)e(P);else{if(t)x.original=t;else{if(!(b.length>0))return void e(P);var o=b;x.original=o[0]}if(x.original.dispatchEvent(Bs("medium-zoom:open",{detail:{zoom:P}})),S=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,_=!0,x.zoomed=zs(x.original),document.body.appendChild(k),O.template){var r=Ns(O.template)?O.template:document.querySelector(O.template);x.template=document.createElement("div"),x.template.appendChild(r.content.cloneNode(!0)),document.body.appendChild(x.template)}if(x.original.parentElement&&"PICTURE"===x.original.parentElement.tagName&&x.original.currentSrc&&(x.zoomed.src=x.original.currentSrc),document.body.appendChild(x.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),x.original.classList.add("medium-zoom-image--hidden"),x.zoomed.classList.add("medium-zoom-image--opened"),x.zoomed.addEventListener("click",h),x.zoomed.addEventListener("transitionend",(function t(){_=!1,x.zoomed.removeEventListener("transitionend",t),x.original.dispatchEvent(Bs("medium-zoom:opened",{detail:{zoom:P}})),e(P)})),x.original.getAttribute("data-zoom-src")){x.zoomedHd=x.zoomed.cloneNode(),x.zoomedHd.removeAttribute("srcset"),x.zoomedHd.removeAttribute("sizes"),x.zoomedHd.removeAttribute("loading"),x.zoomedHd.src=x.zoomed.getAttribute("data-zoom-src"),x.zoomedHd.onerror=function(){clearInterval(i),console.warn("Unable to reach the zoom image target "+x.zoomedHd.src),x.zoomedHd=null,n()};var i=setInterval((function(){x.zoomedHd.complete&&(clearInterval(i),x.zoomedHd.classList.add("medium-zoom-image--opened"),x.zoomedHd.addEventListener("click",h),document.body.appendChild(x.zoomedHd),n())}),10)}else if(x.original.hasAttribute("srcset")){x.zoomedHd=x.zoomed.cloneNode(),x.zoomedHd.removeAttribute("sizes"),x.zoomedHd.removeAttribute("loading");var a=x.zoomedHd.addEventListener("load",(function(){x.zoomedHd.removeEventListener("load",a),x.zoomedHd.classList.add("medium-zoom-image--opened"),x.zoomedHd.addEventListener("click",h),document.body.appendChild(x.zoomedHd),n()}))}else n()}}}))},h=function(){return new o((function(e){if(!_&&x.original){_=!0,document.body.classList.remove("medium-zoom--opened"),x.zoomed.style.transform="",x.zoomedHd&&(x.zoomedHd.style.transform=""),x.template&&(x.template.style.transition="opacity 150ms",x.template.style.opacity=0),x.original.dispatchEvent(Bs("medium-zoom:close",{detail:{zoom:P}})),x.zoomed.addEventListener("transitionend",(function t(){x.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(x.zoomed),x.zoomedHd&&document.body.removeChild(x.zoomedHd),document.body.removeChild(k),x.zoomed.classList.remove("medium-zoom-image--opened"),x.template&&document.body.removeChild(x.template),_=!1,x.zoomed.removeEventListener("transitionend",t),x.original.dispatchEvent(Bs("medium-zoom:closed",{detail:{zoom:P}})),x.original=null,x.zoomed=null,x.zoomedHd=null,x.template=null,e(P)}))}else e(P)}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target;return x.original?h():p({target:t})},m=function(){return O},g=function(){return b},y=function(){return x.original},b=[],w=[],_=!1,S=0,O=n,x={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?O=t:(t||"string"==typeof t)&&c(t),O=Rs({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},O);var k=Fs(O.background);document.addEventListener("click",r),document.addEventListener("keyup",a),document.addEventListener("scroll",i),window.addEventListener("resize",h);var P={open:p,close:h,toggle:v,update:s,clone:l,attach:c,detach:u,on:d,off:f,getOptions:m,getImages:g,getZoomedImage:y};return P};const Vs=JSON.parse('{"background":"var(--bodyBgColor)"}'),Hs=Number("500");class Js{constructor(){this.instance=null}update(e="img"){"undefined"!=typeof window&&(null===this.instance?this.instance=Gs(e,Vs):(this.instance.detach(),this.instance.attach(e)))}updateDelay(e="img",t=Hs){setTimeout(()=>this.update(e),t)}}n(241);var qs=[gs,xs,As,js,Is,{watch:{"$page.path"(){void 0!==this.$vuepress.mediumZoom&&this.$vuepress.mediumZoom.updateDelay()}},mounted(){this.$vuepress.mediumZoom=new Js,this.$vuepress.mediumZoom.updateDelay()}}],Ws={name:"GlobalLayout",computed:{layout(){const e=this.getLayout();return fs("layout",e),qn.component(e)}},methods:{getLayout(){if(this.$page.path){const e=this.$page.frontmatter.layout;return e&&(this.$vuepress.getLayoutAsyncComponent(e)||this.$vuepress.getVueComponent(e))?e:"Layout"}return"NotFound"}}},Ks=Object(Cs.a)(Ws,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(e,t,n){switch(t){case"components":e[t]||(e[t]={}),Object.assign(e[t],n);break;case"mixins":e[t]||(e[t]=[]),e[t].push(...n);break;default:throw new Error("Unknown option name.")}}(Ks,"mixins",qs);const Xs=[{name:"v-06f3c5ef",path:"/117CC.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-06f3c5ef").then(n)}},{name:"v-0c31170f",path:"/3PTYCLIENTS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-0c31170f").then(n)}},{name:"v-6d103c0f",path:"/32BIT.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-6d103c0f").then(n)}},{name:"v-7be33f55",path:"/ABOUTPOJAV.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-7be33f55").then(n)}},{name:"v-31887371",path:"/CONT-POJAV.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-31887371").then(n)}},{name:"v-592ee76f",path:"/BUILD-FROM-SOURCE.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-592ee76f").then(n)}},{name:"v-4e22b48a",path:"/CONT-WEBSITE.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-4e22b48a").then(n)}},{name:"v-81274ae2",path:"/CUSTOM-CONTROLS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-81274ae2").then(n)}},{name:"v-345a158f",path:"/CUSTOM-MC.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-345a158f").then(n)}},{name:"v-563ba2e2",path:"/DEBUG-LOG.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-563ba2e2").then(n)}},{name:"v-225394af",path:"/CONT-TRANSLATIONS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-225394af").then(n)}},{name:"v-64989b6f",path:"/DEVICES.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-64989b6f").then(n)}},{name:"v-f522bdba",path:"/ENV-VARS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-f522bdba").then(n)}},{name:"v-42c06637",path:"/DEFAULT-CONTROLS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-42c06637").then(n)}},{name:"v-d825f8e2",path:"/FIRST-STEPS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-d825f8e2").then(n)}},{name:"v-9676641e",path:"/FFMPEG.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-9676641e").then(n)}},{name:"v-de1236aa",path:"/INSTALL-MC.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-de1236aa").then(n)}},{name:"v-d168dba2",path:"/IOS-SUPPORT.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-d168dba2").then(n)}},{name:"v-6b9f262f",path:"/INSTALL.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-6b9f262f").then(n)}},{name:"v-beda3462",path:"/JAVA-ARGS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-beda3462").then(n)}},{name:"v-ab47dc22",path:"/JIT.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-ab47dc22").then(n)}},{name:"v-003c2faf",path:"/LEGAL.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-003c2faf").then(n)}},{name:"v-7a85af9e",path:"/LOCAL-MODE.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-7a85af9e").then(n)}},{name:"v-010d50e2",path:"/MODDED-MC.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-010d50e2").then(n)}},{name:"v-d732ddea",path:"/MODPACKS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-d732ddea").then(n)}},{name:"v-f8efcd22",path:"/MCVERS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-f8efcd22").then(n)}},{name:"v-2a5ebdfe",path:"/NOTCHFIX.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-2a5ebdfe").then(n)}},{name:"v-e815d23e",path:"/OPTIMIZATION.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-e815d23e").then(n)}},{name:"v-3eadfe49",path:"/MODS-UNSUPPORTED.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-3eadfe49").then(n)}},{name:"v-b555e268",path:"/",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-b555e268").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-c6805a6a",path:"/PARSINGERROR.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-c6805a6a").then(n)}},{name:"v-9b08b72a",path:"/REFUSALOFINSTALL.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-9b08b72a").then(n)}},{name:"v-a4d8fe62",path:"/ROADMAP.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-a4d8fe62").then(n)}},{name:"v-fc8dde62",path:"/RENDERERS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-fc8dde62").then(n)}},{name:"v-1b47640f",path:"/SHADERS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-1b47640f").then(n)}},{name:"v-a6521322",path:"/SIGN-IN.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-a6521322").then(n)}},{name:"v-751f9e23",path:"/ZINK.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-751f9e23").then(n)}},{name:"v-051fd6ef",path:"/archived_pages/DEVICES_LINUX_INCL.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-051fd6ef").then(n)}},{name:"v-5ed8efd6",path:"/UNJAIL.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-5ed8efd6").then(n)}},{name:"v-687695a2",path:"/archived_pages/JDK8.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-687695a2").then(n)}},{name:"v-98819f36",path:"/archived_pages/OGL32.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-98819f36").then(n)}},{name:"v-72831da2",path:"/archived_pages/PARTNERSHIPS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-72831da2").then(n)}},{name:"v-66a0075c",path:"/archived_pages/",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-66a0075c").then(n)}},{path:"/archived_pages/index.html",redirect:"/archived_pages/"},{name:"v-1e60c8e2",path:"/archived_pages/RIP-A7.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-1e60c8e2").then(n)}},{name:"v-cb4c1c86",path:"/changelogs/ANDROID.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-cb4c1c86").then(n)}},{name:"v-7e90673c",path:"/images/",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-7e90673c").then(n)}},{path:"/images/index.html",redirect:"/images/"},{name:"v-7fc82f01",path:"/changelogs/IOS.html",component:Ks,beforeEnter:(e,t,n)=>{ds("Layout","v-7fc82f01").then(n)}},{path:"*",component:Ks}],Ys={title:"PojavLauncher",description:"A flexible, fast and open-source Minecraft Java Edition launcher for Android and iOS",base:"/",headTags:[["meta",{name:"theme-color",content:"#ffffff",media:"(prefers-color-scheme: light)"}],["meta",{name:"theme-color",content:"#25262b",media:"(prefers-color-scheme: dark)"}],["meta",{name:"apple-mobile-web-app-capable",content:"yes"}],["meta",{name:"apple-mobile-web-app-status-bar-style",content:"black"}],["link",{rel:"'stylesheet",href:"/styles/website.css"}]],pages:[{frontmatter:{},regularPath:"/117CC.html",relativePath:"117CC.md",key:"v-06f3c5ef",path:"/117CC.html",lastUpdated:"2/22/2023, 12:51:27 PM",lastUpdatedTimestamp:1677070287e3,content:""},{frontmatter:{},regularPath:"/3PTYCLIENTS.html",relativePath:"3PTYCLIENTS.md",key:"v-0c31170f",path:"/3PTYCLIENTS.html",lastUpdated:"2/22/2023, 12:51:27 PM",lastUpdatedTimestamp:1677070287e3,content:" s \n"},{title:"PojavLauncher's 32-bit support",frontmatter:{},regularPath:"/32BIT.html",relativePath:"32BIT.md",key:"v-6d103c0f",path:"/32BIT.html",headers:[{level:2,title:"RAM Allocation",slug:"ram-allocation"},{level:2,title:"Performance",slug:"performance"}],lastUpdated:"10/29/2023, 4:25:09 PM",lastUpdatedTimestamp:1698596709e3,content:" PojavLauncher's 32-bit support \n Most of you, Android users, who are reading this now, won't be bothered by this documentation, but for the poor souls who have a 32-bit device, let's press L F to pay respect to them. \n Before ARM transitioned into the more-powerful, more-utilizing arm64/aarch64 architecture; everyone was using arm/aarch32 \n We're not here to give you historical information of it, but feel free to read this documentary about the ARM platform. \n You may encounter issues while using PojavLauncher on 32-bit devices. Here's a list of stuff that's known to be problematic: \n RAM Allocation \n \n Real 32-bit devices (32-bit hardware and firmware), can't allocate more than 768MB of RAM to PojavLauncher. This can't be changed even if the device has more free RAM. \n Examples of real 32-bit SoCs: Qualcomm Snapdragon 801, 800, 600, 400, S4, S3, S2, S1 \n 64-bit devices limited to 32-bit firmware can't allocate more than ~1000MB of RAM. As said earlier, this can't be changed. \n Examples of 64-bit SoCs limited to 32-bit firmware: MediaTek Helio G37, G35, G25, P35, P25, P23, P22 \n Performance \n Due to 32-bit's processing speed limit, Minecraft's performance is always compromised. Even with optimization mods installed, you may get big stutters even on lowest settings. Decreasing RAM Allocation may help performance in certain scenarios. \n"},{title:"PojavLauncher",frontmatter:{},regularPath:"/ABOUTPOJAV.html",relativePath:"ABOUTPOJAV.md",key:"v-7be33f55",path:"/ABOUTPOJAV.html",headers:[{level:3,title:"From the ashes of zhouwei's Boardwalk project comes PojavLauncher, a capable, fast, and open-source Minecraft: Java Edition launcher for Android and iOS.",slug:"from-the-ashes-of-zhouwei-s-boardwalk-project-comes-pojavlauncher-a-capable-fast-and-open-source-minecraft-java-edition-launcher-for-android-and-ios"},{level:2,title:"Credits",slug:"credits"},{level:2,title:"Special thanks to these guys",slug:"special-thanks-to-these-guys"}],lastUpdated:"10/27/2022, 9:21:34 PM",lastUpdatedTimestamp:1666905694e3,content:" PojavLauncher \n From the ashes of zhouwei's Boardwalk project comes PojavLauncher, a capable, fast, and open-source Minecraft: Java Edition launcher for Android and iOS. \n PojavLauncher is based off of zhouwei's Boardwalk project, which brought Minecraft 1.13 to Android. Improved upon and revived by the team, PojavLauncher brings Boardwalk to new heights with more versions, more devices, and even iOS support. \n Right now, you're looking at the PojavLauncher website, with information regarding the launcher and various guides on how to navigate, operate, and get to playing. Take a look around, there's more in store! \n Credits \n PojavLauncher didn't just appear out of thin air, but was made possible by the following people! \n @PojavLauncherTeam , which includes \n \n @DuyKhanhTran \n @artdeell \n @Mathias Bouley \n @crystall1nedev \n \n ...and many more contributors to the Android and iOS repositories. \n PojavLauncher also uses the following third-party components: \n \n Boardwalk (JVM Launcher): Unknown License/ Apache License 2.0 or GNU GPLv2. \n Caciocavallo : GNU GPLv2 License . \n Android Support Libraries: Apache License 2.0 . \n GL4ES : MIT License . \n OpenJDK : GNU GPLv2 License . On iOS, it was ported by @Diatrus \n LWJGL3 : BSD-3 License . \n LWJGLX (LWJGL2 API compatibility layer for LWJGL3): unknown license. \n Mesa 3D Graphics Library : MIT License . \n pro-grade (Java sandboxing security manager): Apache License 2.0 . \n xHook (Used for exit code trapping): MIT and BSD-style licenses . \n libepoxy : MIT License . \n virglrenderer : MIT License . \n Apache Commons : Apache License 2.0 . \n jsr305 : 3-Clause BSD License . \n org.json : The JSON License . \n MetalANGLE by @kakashidinho and ANGLE team: BSD License 2.0 . \n MoltenVK : Apache 2.0 License . \n Alderis (color picker for iOS < 14): Apache 2.0 License . \n DBNumberedSlider : Apache 2.0 License \n fishhook (jailed environment usage only): BSD-3 License . \n Java Native Access : Apache 2.0 License . \n shaderc (used by mods that uses Vulkan for rendering): Apache 2.0 License . \n TOInsetGroupedTableView : MIT License . \n Special thanks to these guys \n \n Thanks to MCHeads for providing Minecraft avatars. \n Thanks to @Diatrus for helping make this a reality in the beginning. \n Thanks to MacStadium for providing the hardware needed to help PojavLauncher iOS go further. \n \n \n"},{title:"Contributing to PojavLauncher itself",frontmatter:{},regularPath:"/CONT-POJAV.html",relativePath:"CONT-POJAV.md",key:"v-31887371",path:"/CONT-POJAV.html",lastUpdated:"10/24/2022, 1:36:49 PM",lastUpdatedTimestamp:1666618609e3,content:" Contributing to PojavLauncher itself \n"},{title:"Building from source",frontmatter:{},regularPath:"/BUILD-FROM-SOURCE.html",relativePath:"BUILD-FROM-SOURCE.md",key:"v-592ee76f",path:"/BUILD-FROM-SOURCE.html",headers:[{level:2,title:"Setting up JRE",slug:"setting-up-jre"},{level:3,title:"Android",slug:"android"},{level:3,title:"iOS",slug:"ios"},{level:2,title:"LWJGL",slug:"lwjgl"},{level:2,title:"Building the Launcher",slug:"building-the-launcher"},{level:3,title:"Updating translations",slug:"updating-translations"},{level:3,title:"Build GLFW Stub",slug:"build-glfw-stub"},{level:3,title:"Build the Launcher",slug:"build-the-launcher"}],lastUpdated:"11/4/2022, 4:16:58 PM",lastUpdatedTimestamp:1667578618e3,content:" Building from source \n \n \n Even though it is well-explained, building from source requires skill, internet and time. \n \n \n You can try building on Android with Termux , but no support will be included for it. \n \n \n It is recommended to clone the PojavLauncher repository before starting Setting Up JRE \n \n \n git clone https://github.com/PojavLauncherTeam/PojavLauncher \n Setting up JRE \n \n \n You can download it from CI Auto Builds if you don't want to/can't build. \n \n \n Source: PojavLauncherTeam/android-openjdk-build-multiarch \n Android \n \n Clone the git repository of PojavLauncherTeam/android-openjdk-build-multiarch \n \n git clone https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch\n \n \n Change the directory to the cloned repository \n \n cd android-openjdk-build-multiarch\n \n \n Download Android NDK r10e from here and place it in this directory with a file explorer. (Can't automatically download because of EULA) \n \n WARNING \n Do not attempt to build using a newer or older NDK, it will lead to compilation errors. \n iOS \n \n Get the latest Xcode (tested with Xcode 12). \n Platform and architecture specific environment variables \n \n \n \n Platform \n Architecture \n Target \n Target_JDK \n \n \n \n \n Android \n armv8/aarch64 \n aarch64-linux-android \n aarch64 \n \n \n Android \n armv7/aarch32 \n arm-linux-androideabi \n arm \n \n \n Android \n x86/i686 \n i686-linux-android \n x86 \n \n \n Android \n x86_64/amd64 \n x86_64-linux-android \n x86_64 \n \n \n iOS/iPadOS \n armv8/aarch64 \n aarch64-macos-ios \n aarch64 \n Building JRE (Java Runtime Environment) \n \n \n export BUILD_IOS=0\n \n \n \n export BUILD_IOS=1\n \n \n \n export BUILD_FREETYPE_VERSION=[2.10.4] \n TIP \n You can use versions between 2.6.2 and 2.10.4 but 2.10.4 is preferred. \n \n export JDK_DEBUG_LEVEL=[release] \n TIP \n You can use release , fastdebug and debug , but release is preferred \n \n export JVM_VARIANTS=[client] \n TIP \n You can use client and server variants, Client is for aarch32 and server is for other architectures \n \n (Android only) \n ./extractndk.sh \n ./maketoolchain.sh \n Get CUPS, Freetype and build Freetype \n ./getlibs.sh \n ./buildlibs.sh \n Clone JDK, run once \n ./clonejdk.sh \n Configure JDK and build \n ./buildjdk.sh \n TIP \n If no configuration is changed, run sh makejdkwithoutconfigure.sh instead \n Pack the built JDK \n ./removejdkdebuginfo.sh \n ./tarjdk.sh \n LWJGL \n \n Coming soon \n Building the Launcher \n Updating translations \n \n \n Updating translations is easier thanks to language list updater scripts \n \n \n Just run this command and it'll be automatically updated from Crowdin. \n \n \n \n \n scripts\\languagelist_updater.bat\n \n \n \n chmod +x scripts/languagelist_updater.sh\nbash scripts/languagelist_updater.sh\n Build GLFW Stub \n \n \n ./gradlew :jre_lwjgl3glfw:build\n \n \n \n gradle :jre_lwjgl3glfw:build\n Build the Launcher \n \n \n ./gradlew.bat :app_pojavlauncher:assembleDebug\n \n \n \n ./gradlew :app_pojavlauncher:assembleDebug\n \n \n \n"},{title:"Contributing to this website",frontmatter:{},regularPath:"/CONT-WEBSITE.html",relativePath:"CONT-WEBSITE.md",key:"v-4e22b48a",path:"/CONT-WEBSITE.html",headers:[{level:2,title:"What is Vuepress?",slug:"what-is-vuepress"},{level:2,title:"How do I contribute?",slug:"how-do-i-contribute"},{level:2,title:"What to do and what not to do?",slug:"what-to-do-and-what-not-to-do"}],lastUpdated:"10/27/2022, 9:21:34 PM",lastUpdatedTimestamp:1666905694e3,content:" Contributing to this website \n We're always happy to accept help from our beloved community, and this website is no different. However, we want to cover some ground rules before you get started. \n What is Vuepress? \n Vuepress is a static website generator, although it looks really good. It takes three things: a config file, markdown (.md) documents, and resources for images and such, and then compiles them into HTML for browser-friendly access. \n How do I contribute? \n Simple: \n \n \n Fork this repository . \n \n \n Click on \"Edit this page\" on any page, then edit the markdown file with your properly tuned syntax (using Discord? You already know Markdown), then save and commit. It's that easy. \n \n \n If you want to see your changes on your fork, you'll have to either \n \n \n 1- Rename the repo to .github.io \n \n Set the Pages settings to build from the root of gh-pages \n \n 2- (if you have node installed), run npm install && npm run build && npm run start . \n What to do and what not to do? \n You're allowed to pretty much change anything, as long as it follows all of these rules: \n \n Do not make any promises unless you were given permission from the developers. \n Do not spread misinformation and inaccurate content. \n Although you can change everything else, do not touch .vuepress/config.js . If you need to change something in it, let Crystall1nedev or CriticalRange know. \n Never, never ever ever merge gh-pages and main into each other. gh-pages is the result , main is the rough draft . \n Do not delete any dot files (.nvmrc, .gitattributes, etc) \n \n With all of these in mind, you're free to help us out with our website! \n"},{title:"Customizing the on-screen controls",frontmatter:{},regularPath:"/CUSTOM-CONTROLS.html",relativePath:"CUSTOM-CONTROLS.md",key:"v-81274ae2",path:"/CUSTOM-CONTROLS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Customizing the on-screen controls \n"},{title:"Installing custom versions of Minecraft",frontmatter:{},regularPath:"/CUSTOM-MC.html",relativePath:"CUSTOM-MC.md",key:"v-345a158f",path:"/CUSTOM-MC.html",headers:[{level:3,title:"Installation:",slug:"installation"},{level:3,title:"Notes:",slug:"notes"}],lastUpdated:"4/10/2023, 12:22:28 PM",lastUpdatedTimestamp:1681129348e3,content:' Installing custom versions of Minecraft \n If you want an old mod or modpack to run (Minecraft 1.2.4 and older), this is for you. Warning, not for newcomers! \n Installation: \n \n If you are on Android, install MiXplorer and MiX Archive \n Make a copy of the Minecraft version you want to modify \n Rename the custom version folder , .jar and .json to your desired custom version name (for example, foo , foo.jar , foo.json ) \n Open the custom version\'s .json with MiX\'s Text Editor \n Remove "downloads:{"client"...} as shown in the screenshot \n \n \n \n Change "id": "1.2.4" to "id": "(your custom version name)" \n Change "mainClass": "net.minecraft.launchwrapper.Launch" to "mainClass": "net.minecraft.client.Minecraft" \n Save the .json \n Modify your .jar as desired, make sure to delete the META-INF folder afterwards. \n Start up your custom version! \n Notes: \n \n If your game is stuck at the Mojang screen afterwards, try deleting options.txt \n This guide is NOT for Babric or Cursed Fabric! \n \n'},{title:"Debugging issues with the launcher",frontmatter:{},regularPath:"/DEBUG-LOG.html",relativePath:"DEBUG-LOG.md",key:"v-563ba2e2",path:"/DEBUG-LOG.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Debugging issues with the launcher \n"},{title:"Contributing to the translation of PojavLauncher",frontmatter:{},regularPath:"/CONT-TRANSLATIONS.html",relativePath:"CONT-TRANSLATIONS.md",key:"v-225394af",path:"/CONT-TRANSLATIONS.html",headers:[{level:2,title:"Getting started for newcomers on Crowdin",slug:"getting-started-for-newcomers-on-crowdin"},{level:2,title:"What to translate and what not to translate?",slug:"what-to-translate-and-what-not-to-translate"},{level:2,title:"Proofreading",slug:"proofreading"}],lastUpdated:"10/27/2022, 9:21:34 PM",lastUpdatedTimestamp:1666905694e3,content:' Contributing to the translation of PojavLauncher \n \n \n For the convenience of translators, we use Crowdin . \n \n \n Anyone can join the project on Crowdin and start translating right now. \n \n \n Join the project \n Getting started for newcomers on Crowdin \n \n \n After you sign up on Crowdin and join the project, you can start translating the strings. \n \n \n First, on the project page, you should select the language you want to translate PojavLauncher into. \n \n \n Then, you will see the files to be translated. After the name of each file, you can see the translation progress of that file. The blue bar represents the progress of translated strings, and the green bar represents the progress of approved strings. \n \n \n Now you can click on the "Translate all" button and you will be moved to the translation editor. But first, Crowdin will suggest you to read useful tips for using the translation editor. \n What to translate and what not to translate? \n WARNING \n Things not to translate: PojavLauncher, codes like <1>, , \\n, %s, %.2f, %1$s, %@ , arrows like ◀, \n \n \n Except for the list above, you can translate anything else. \n Proofreading \n \n Proofreading of the strings is made by the language proofreader. Proofreaders are appointed by @Syjalo. Please don\'t ask him to approve the strings or appoint somebody as a proofreader. He will choose a suitable candidate in his opinion. Approved or most voted translation suggestions will be added to the launcher. \n \n'},{title:"Device requirements",frontmatter:{},regularPath:"/DEVICES.html",relativePath:"DEVICES.md",key:"v-64989b6f",path:"/DEVICES.html",headers:[{level:2,title:"Android",slug:"android"},{level:3,title:"Minimum requirements:",slug:"minimum-requirements"},{level:3,title:"Recommended requirements:",slug:"recommended-requirements"},{level:3,title:"ChromeOS",slug:"chromeos"},{level:2,title:"iOS",slug:"ios"},{level:3,title:"Minimum requirements:",slug:"minimum-requirements-2"},{level:3,title:"Recommended requirements:",slug:"recommended-requirements-2"}],lastUpdated:"12/14/2023, 7:15:25 PM",lastUpdatedTimestamp:1702581325e3,content:" Device requirements \n \n Minimum means 30 or more average FPS on 1.7.10 with OptiFine installed at lowest settings. \n Recommended means 60 or more average FPS on 1.19.4 with OptiFine installed at lowest settings. \n Android \n Minimum requirements: \n \n Qualcomm Snapdragon 400 (or equivalent) \n Android 5.0 \n 1GB RAM \n Recommended requirements: \n \n Qualcomm Snapdragon 820 (or equivalent) with Vulkan API support \n Android 8.0 and newer \n 4GB RAM \n ChromeOS \n \n Chromebooks have very similar system requirements, however Android version does not matter, as long as you can install Android apps. \n iOS \n Minimum requirements: \n \n Apple A8 SoC\n \n The Apple A7 SoC is losing support in PojavLauncher 2.3. \n \n \n iOS 14 \n 1GB RAM \n Recommended requirements: \n \n Apple A14/A12X Bionic SoC \n iOS 14 \n 4GB RAM \n \n"},{title:"Using environment variables",frontmatter:{},regularPath:"/ENV-VARS.html",relativePath:"ENV-VARS.md",key:"v-f522bdba",path:"/ENV-VARS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Using environment variables \n"},{title:"Taking a look at the controls",frontmatter:{},regularPath:"/DEFAULT-CONTROLS.html",relativePath:"DEFAULT-CONTROLS.md",key:"v-42c06637",path:"/DEFAULT-CONTROLS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Taking a look at the controls \n"},{frontmatter:{},regularPath:"/FIRST-STEPS.html",relativePath:"FIRST-STEPS.md",key:"v-d825f8e2",path:"/FIRST-STEPS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:""},{title:"Exporting videos with Replay Mod",frontmatter:{},regularPath:"/FFMPEG.html",relativePath:"FFMPEG.md",key:"v-9676641e",path:"/FFMPEG.html",lastUpdated:"10/29/2023, 4:25:09 PM",lastUpdatedTimestamp:1698596709e3,content:" Exporting videos with Replay Mod \n \n Download the ffmpeg binary here . Choose one according to your device’s architecture.\n \n (For GitHub builds) Due to the limit of Replay’s command window, you need to rename the executable to a short name, like -> :fr: . Let’s call it . \n \n \n Install an APK Editor from Google Play or everywhere else. \n Follow the instructions of the app to add the executable to /lib/ folder of the APK. Then build the APK and install it.\n \n (Required for a clean install) Install everything needed (Forge, Replay Mod). \n \n \n Now launch Minecraft. We haven’t done yet, so force close it after launching. \n Find latestlog.txt.\n \n Open it and find this line: Added custom env: POJAV_NATIVEDIR= . \n Copy the part. \n \n \n Launch the game again, go to Replay Viewer and load the record you want to export. \n Follow Replay’s instructions to add keyframes, then (press T show mouse cursor and) click at Render Camera Path . \n Scroll to the bottom, paste the text you copied in step 5 into the first command line window, then write / (step 1) at the end of the text line. \n Tap Render and enjoy your video. \n \n"},{title:"Downloading a copy of Minecraft",frontmatter:{},regularPath:"/INSTALL-MC.html",relativePath:"INSTALL-MC.md",key:"v-de1236aa",path:"/INSTALL-MC.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Downloading a copy of Minecraft \n"},{title:"System support in future versions of PojavLauncher iOS",frontmatter:{},regularPath:"/IOS-SUPPORT.html",relativePath:"IOS-SUPPORT.md",key:"v-d168dba2",path:"/IOS-SUPPORT.html",headers:[{level:2,title:"But why?",slug:"but-why"},{level:2,title:"So what happens now?",slug:"so-what-happens-now"}],lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" System support in future versions of PojavLauncher iOS \n This announcement will be covering the next 3 releases of PojavLauncher iOS. \n We've made some great strides with the iOS port of PojavLauncher: fixing 1.17 and newer , bringing OpenJDK 8 to iOS , and now unveiling an unjailbroken variant . However, all of the advancements we're making also stirred up old conversations, and we've come to a final conclusion: \n A future release of PojavLauncher will require iOS 14.0 and later. \n But why? \n Supporting iOS 12.0 and newer was a feat of engineering. However, it created multiple issues with feature support and user experience. We need to verify that our code works on iOS 12 before going ahead and compiling--if it does not, this complicates our development as we are faced with two options: dropping the feature on older versions, or importing external libraries. This causes slower development times, or lack of the feature entirely for our users. \n We also took a look at the userbase currently playing on PojavLauncher. Most of the users asking for support in our Discord server (which is many times more active than the Issues tab on the GitHub repository) are already running iOS 14.0 or newer, and a few cases of users on iOS 13. We barely see users running iOS 12 anymore, and now that PojavLauncher works unjailbroken, users can update to a newer release of iOS while still retaining Java Edition. \n This decision also comes after we understood that we don't really have the ability to test on these older versions anymore. Our devices are already running iOS 14.0+, and so are most of our testers. \n So what happens now? \n Things are going to get somewhat complex, but this document will sort these things out. \n PojavLauncher 2.1 - Recap \n PojavLauncher 2.1 was largely unchanged from its original plans. Just to recap, its key features: \n \n New split user interface to allow switching menus with ease \n Rewritten preferences menu \n Transitioned code to Objective-C from Java \n First release with compatibility unjailbroken \n Final release with jailbreak-specific packages \n \n This release will also begin to warn users with 1GB of memory about the incoming end-of-life. \n \n PojavLauncher 2.2 - 1GB EOL \n PojavLauncher 2.2 was already planned to drop the Apple A7-equipped devices from support, due to performance and stability issues. This has been extended all devices with less than 1 gigabyte of total memory: \n \n iPhone 5s \n iPhone 6 \n iPhone 6 Plus \n iPad mini (2nd generation) \n iPad mini (3rd generation) \n iPad Air (1st generation) \n iPod touch (6th generation) \n \n The a7_allow boolean in the preferences file has been replaced with force_unsupported_launch to reflect the change. As stated before, support for these devices will end 3 weeks after 2.2 releases, or immediately, for you, if this boolean is toggled. \n This release will also begin to warn users on iOS 12 or 13 about the incoming end-of-life. If you are using a device that is capable of running iOS 14 or later, the warning will additionally tell you to upgrade to a newer version of iOS. \n \n PojavLauncher 2.3 - iOS 14.0+ begins \n PojavLauncher 2.3 will begin the end-of-life process for iOS 12/13 users. Taking a similar approach to 2.2, the force_unsupported_launch boolean can be toggled to override the behaviour of the launcher not opening. Support for these versions will end 3 weeks after 2.3 releases, or immediately, for you, if this boolean is toggled. \n As part of this deprecation, beta builds of PojavLauncher 2.4 will move to iOS 14.0 and newer APIs. Moving to these APIs may break the boolean's ability to continue launching the application. \n \n PojavLauncher 2.4 - iOS 14.0+ completed \n PojavLauncher 2.4 will complete the transition to iOS 14.0 APIs and be incompatible with iOS 12/13 without modification to the source code. \n \n"},{title:"Installing the launcher",frontmatter:{},regularPath:"/INSTALL.html",relativePath:"INSTALL.md",key:"v-6b9f262f",path:"/INSTALL.html",headers:[{level:2,title:"Android",slug:"android"},{level:2,title:"iOS",slug:"ios"},{level:3,title:"TrollStore compatibility depends on whether your iDevice is arm64 (A8-A11) or arm64e (A12+/M1+)",slug:"trollstore-compatibility-depends-on-whether-your-idevice-is-arm64-a8-a11-or-arm64e-a12-m1"}],lastUpdated:"12/14/2023, 7:15:25 PM",lastUpdatedTimestamp:1702581325e3,content:' Installing the launcher \n Android \n Instructions for installing PojavLauncher on Android devices. \n Google Play \n You can grab PojavLauncher from the Google Play Store here. \n \n GitHub Actions \n Requires a GitHub account in order to download. \n If you want the latest and greatest to test before the official release, you can grab a copy from GitHub Actions. \n \n Start off by heading to the PojavLauncher repository and switching to the "Actions" tab. \n \n \n \n Next, select "Android CI" in the workflow selection menu. \n \n \n \n Choose a build with a green or blue checkmark next to the branch you want to download.\n \n v3_openjdk will be the one for most people. \n \n \n \n \n \n Under "Artifacts", choose the build type you wish to download.\n \n app-debug will be the one for most people. \n \n \n \n \n Once you have an Actions build downloaded, you can now unzip the file and install it as you would any other .apk file. \n \n Source \n Instructions coming in a future revision to this website. \n iOS \n Instructions for installing PojavLauncher on Apple devices. \n Sideloading (TrollStore) \n We recommend TrollStore for all users if possible. This method allows for automatic JIT enabling, more memory allocation, and non-revoking installs. \n TrollStore compatibility depends on whether your iDevice is arm64 (A8-A11) or arm64e (A12+/M1+) \n For arm64, TrollStore is compatible with the following iOS versions: \n - 14.0 to 14.8.1\n- 15.0 to 15.8\n- 16.0 to 16.6.1\n- 17.0\n For arm64e, TrollStore is compatible with the following iOS versions: \n - 14.0 to 14.8.1\n- 15.0 to 15.7.1\n- 16.0 to 16.5\n- 16.5.1 (*)\n- 16.6 beta 1\n- 16.6 beta 2 to 16.6.1 (*)\n- 17.0 (*)\n\n(*) - No Installation Method.\n \n \n \n Follow the steps to install TrollStore . \n \n \n Download the latest release from here . \n \n For a specific release, you can find its package on the Releases page \n \n \n \n Locate where the .ipa was downloaded, tap the Share icon, and choose TrollStore in the list of options available. \n \n \n You can now enjoy Minecraft: Java Edition on your iDevice! \n \n Sideloading (Unjailbroken) \n Requires an active Apple ID, that has signed into the Developer Portal at least once. \n PojavLauncher supports being sideloaded with AltStore, Sideloadly, and Xcode. Instructions to use AltStore are below--for other options, refer to their documentation. \n \n \n Follow the official guide on installing AltStore itself: \n \n Instructions for Mac and Windows \n \n \n \n Install the latest release using this Install with AltStore button. \n \n For a specific release, you can find its button on the Releases page \n \n \n \n Installing PojavLauncher is not the end for iOS devices. In order to play Minecraft itself, you will need to enable JIT . \n \n Sideloading (Jailbroken) \n Currently, AppSync Unified is not supported. There is an issue regarding the data directory when installed with AppSync. \n You can follow the Sideloading (TrollStore) or Sideloading (Unjailbroken) steps to sideload on a jailbroken iDevice. Regardless of the method, you will benefit from automatic JIT enabling and more memory allocation. \n \n GitHub Actions \n Requires a GitHub account in order to download. \n If you want the latest and greatest to test before the official release, you can grab a copy from GitHub Actions. \n \n Start off by heading to the PojavLauncher iOS repository and switching to the "Actions" tab. \n \n \n \n Next, select "Development Build" in the workflow selection menu. \n \n \n \n Choose a build with a green or blue checkmark next to the branch you want to download.\n \n main will be the one for most people. \n \n \n \n \n \n Under "Artifacts", choose net.kdt.pojavlauncher.ipa \n \n \n Once you have an Actions build downloaded, you can now unzip the file and use this .ipa for TrollStore or sideloading. \n \n Source \n Instructions coming in a future revision to this website. \n \n'},{title:"Adding custom Java arguments",frontmatter:{},regularPath:"/JAVA-ARGS.html",relativePath:"JAVA-ARGS.md",key:"v-beda3462",path:"/JAVA-ARGS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Adding custom Java arguments \n"},{title:'iOS and "JIT"',frontmatter:{},regularPath:"/JIT.html",relativePath:"JIT.md",key:"v-ab47dc22",path:"/JIT.html",headers:[{level:2,title:"What is JIT and why do I care?",slug:"what-is-jit-and-why-do-i-care"},{level:2,title:"What does this mean for PojavLauncher?",slug:"what-does-this-mean-for-pojavlauncher"},{level:3,title:"Jailbroken devices",slug:"jailbroken-devices"},{level:3,title:"Unjailbroken devices",slug:"unjailbroken-devices"}],lastUpdated:"12/14/2023, 7:15:25 PM",lastUpdatedTimestamp:1702581325e3,content:" iOS and \"JIT\" \n What is JIT and why do I care? \n JIT stands for just-in-time compilation , and (although not specific to Java), it serves as a method of executing Java code quicker then the alternatives, by compiling as-needed functions at runtime, rather than its slower alternatives to compile all code at runtime repeatedly or writing in a less portable, hardware-level format. It is the fastest method to running Minecraft: Java Edition on mobile devices, essentially required for a usable experience. \n On Apple's mobile platforms (iOS, iPadOS, tvOS, in our case), a security feature known as code-signing is deeply rooted in the operation of the system. It serves to verify that applications haven't been tampered with after they were installed by a user, so that a malicious payload cannot be installed after-the-fact by a malicious someone. However, due to the process in which code-signing works, this prevents JIT from working properly as it works by reading code, modifying it, and then executing it in some fashion (whether that be by copying the code to a new location in memory, executing directly, or mirroring). \n What does this mean for PojavLauncher? \n Jailbroken devices \n Jailbroken device users don't need to worry about JIT requirements, as PojavLauncher is built to detect jailbreaks and automatically enable new features. \n Unjailbroken devices \n Unjailbroken users can see two different outcomes, based on what they used to sideload PojavLauncher. \n TrollStore \n If you used TrollStore to sideload PojavLauncher, good news: PojavLauncher takes advantage of the extended capabilities with TrollStore and automatically enables JIT when launched. \n Normal sideload \n If you sideload normally, you will need to enable JIT in some way. The most common method is to attach a debug server to the application while it's running - AltStore, SideStore, and Jitterbug all use this method with their JIT enabling functions. The only downside to this method is that you are required to be connected to a WiFi network in order to enable JIT. \n You can also use AltStore , SideStore , or, for more advanced users, Jitterbug . Methods not listed here are not confirmed or recommended by us for use with PojavLauncher. \n"},{title:"Is PojavLauncher legal and safe to use?",frontmatter:{},regularPath:"/LEGAL.html",relativePath:"LEGAL.md",key:"v-003c2faf",path:"/LEGAL.html",lastUpdated:"10/31/2022, 11:37:19 AM",lastUpdatedTimestamp:1667216239e3,content:" Is PojavLauncher legal and safe to use? \n Although in the past it may have not been the case, PojavLauncher is now legal in the eyes of Microsoft. We take care to prevent piracy with our launcher, and do not provide support for those who do not own the game. \n PojavLauncher also abides by the Minecraft EULA, providing a free and open-source launcher that does not redistribute game files on other servers. \n Authentication and downloads are performed directly with Mojang's servers--PojavLauncher never collects your information, credentials, or data, and your information is stored on-device where only you can access it. \n PojavLauncher does not cause harm to your device, and does not distribute harmful programs and executables. \n \n This cannot be verified if you acquire PojavLauncher from a source that is not official. \n For iOS users: jailbreaking can be considered a security risk, so be cautious when jailbroken. \n Other Minecraft: Java Edition on Android/iOS apps claims properties of PojavLauncher. They are not owned nor managed by PojavLauncherTeam. \n \n"},{title:"Offline mode is going places.",frontmatter:{},regularPath:"/LOCAL-MODE.html",relativePath:"LOCAL-MODE.md",key:"v-7a85af9e",path:"/LOCAL-MODE.html",lastUpdated:"3/9/2023, 5:28:16 AM",lastUpdatedTimestamp:1678339696e3,content:" Offline mode is going places. \n Offline mode has been replaced by local accounts, which still allows you to play Minecraft offline but does not allow you to download Minecraft. In order to download Minecraft, you will have to sign in to the launcher using a online account (Microsoft/Mojang account with Minecraft purchased) \n PojavLauncher does NOT , and will NEVER support piracy acts . You MUST purchase Minecraft legally and follow Mojang's Terms of Service to download Minecraft.\nTo purchase Minecraft click this . \n"},{title:"Installing custom versions of Minecraft",frontmatter:{},regularPath:"/MODDED-MC.html",relativePath:"MODDED-MC.md",key:"v-010d50e2",path:"/MODDED-MC.html",headers:[{level:3,title:"Installation:",slug:"installation"},{level:3,title:"Notes:",slug:"notes"}],lastUpdated:"3/10/2023, 12:57:25 PM",lastUpdatedTimestamp:1678453045e3,content:' Installing custom versions of Minecraft \n If you want an old mod or modpack to run (Minecraft 1.2.4 and older), this is for you. Warning, not for newcomers! \n Installation: \n \n If you are on Android, install MiXplorer and MiX Archive \n Make a copy of the Minecraft version you want to modify \n Rename the custom version folder , .jar and .json to your desired custom version name (for example, foo , foo.jar , foo.json ) \n Open the custom version\'s .json with MiX\'s Text Editor \n Remove "downloads:{"client"...} as shown in the screenshot \n \n \n \n Change "id": "1.2.4" to "id": "(your custom version name)" \n Change "mainClass": "net.minecraft.launchwrapper.Launch" to "mainClass": "net.minecraft.client.Minecraft" \n Save the .json \n Modify your .jar as desired, make sure to delete the META-INF folder afterwards. \n Start up your custom version! \n Notes: \n \n If your game is stuck at the Mojang screen afterwards, try deleting options.txt \n This guide is NOT for Babric or Cursed Fabric! \n \n'},{title:"Modpacks",frontmatter:{},regularPath:"/MODPACKS.html",relativePath:"MODPACKS.md",key:"v-d732ddea",path:"/MODPACKS.html",headers:[{level:2,title:"Official Modpacks from PojavLauncherTeam",slug:"official-modpacks-from-pojavlauncherteam"},{level:2,title:"Installing Modpacks",slug:"installing-modpacks"}],lastUpdated:"2/23/2023, 1:16:38 PM",lastUpdatedTimestamp:1677158198e3,content:" Modpacks \n Modpacks, usually archived in a .zip form containing mod metadatas, are mods usually \"duct taped\" together to bring modded Minecraft in a more convenient way rather than handpicking mods one by one. \n Popular examples of these can be found on the CurseForge website. \n Official Modpacks from PojavLauncherTeam \n \n PojavOptimize (crystall1nedev, Chuck_Norris_) - A collection of mods to improve the performance and user experience. \n PojavOptimize (GaucovyAero) - For maximum FPS, this modpack ships with the lowest settings possible. \n \n These modpacks are specially made for PojavLauncher, but it doesn't mean you can't try them on PC too! \n Installing Modpacks \n ⚠️ There is NO modpack installer in the launcher itself. It won't be added in the near future. \n"},{title:"Supported Minecraft versions",frontmatter:{},regularPath:"/MCVERS.html",relativePath:"MCVERS.md",key:"v-f8efcd22",path:"/MCVERS.html",headers:[{level:2,title:"Android",slug:"android"},{level:2,title:"iOS",slug:"ios"}],lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Supported Minecraft versions \n With each new Minecraft release comes questions: how well does it play nice with PojavLauncher? \n Thanks to the hard work from PojavLauncherTeam, both the Android and the iOS port now cover most Minecraft versions... \n ...with some small exceptions that will be listed below. \n Android \n Current issues, as of the Dahlia update \n iOS \n Current issues, as of the Raw Iron update \n"},{frontmatter:{},regularPath:"/NOTCHFIX.html",relativePath:"NOTCHFIX.md",key:"v-2a5ebdfe",path:"/NOTCHFIX.html",lastUpdated:"2/22/2023, 12:51:27 PM",lastUpdatedTimestamp:1677070287e3,content:""},{title:"Optimizing the game",frontmatter:{},regularPath:"/OPTIMIZATION.html",relativePath:"OPTIMIZATION.md",key:"v-e815d23e",path:"/OPTIMIZATION.html",headers:[{level:2,title:"OptiFine",slug:"optifine"},{level:3,title:"Getting (and installing) OptiFine",slug:"getting-and-installing-optifine"},{level:2,title:"Sodium",slug:"sodium"},{level:2,title:'"Optimizing" ModPacks',slug:"optimizing-modpacks"},{level:2,title:"JVM Arguments",slug:"jvm-arguments"}],lastUpdated:"10/28/2022, 9:17:13 AM",lastUpdatedTimestamp:1666948633e3,content:" Optimizing the game \n There are lots of ways to optimize your Java Edition experience if it's being slow for you; or your device is just bad in general. From mods like OptiFine and Sodium to more complex stuff like JVM arguments, we'll cover all of them here. \n OptiFine \n OptiFine, previously known as Optimine and OptiFog; is a Minecraft modification created by sp614x, Insecs, Payton147 and lacuravivid in which the development began on December 22, 2010; was a modification originally created about pushing the fog away but also other features; like FPS Boost, Occlussion Culling, Hidden Geometry removal, Texture Mipmaping and Chunk Loading optimizations in the first development/beta versions of Minecraft \n Getting (and installing) OptiFine \n \n \n Go to the official OptiFine website; optifine.net .\n \n \n \n Depending on what Minecraft version you mainly use, get the specific OptiFine for it. Let's say; I play 1.12.2, so I'll get the latest 1.12.2 OptiFine available.\n Sodium \n \"Optimizing\" ModPacks \n JVM Arguments \n"},{title:"Unsupported Mods and Clients",frontmatter:{},regularPath:"/MODS-UNSUPPORTED.html",relativePath:"MODS-UNSUPPORTED.md",key:"v-3eadfe49",path:"/MODS-UNSUPPORTED.html",headers:[{level:2,title:"Performance Mods + Shaders",slug:"performance-mods-shaders"},{level:2,title:"Skyblock Mods",slug:"skyblock-mods"},{level:2,title:"Input-related Mods",slug:"input-related-mods"},{level:2,title:"Other Mods",slug:"other-mods"},{level:2,title:"Unsupported Clients",slug:"unsupported-clients"}],lastUpdated:"4/4/2023, 5:18:27 AM",lastUpdatedTimestamp:1680585507e3,content:" Unsupported Mods and Clients \n Not everything that works on PC works on PojavLauncher. Below is a non-exhaustive list of mods that may not work. \n Performance Mods + Shaders \n \n \n Sodium ( patch for GL4ES) \n \n \n Rubidium ( patch for GL4ES) \n \n \n Chlorine \n \n \n ShadersMod (GLSL Shaders) \n \n \n Iris , Iris Installer \n \n \n OptiFine ( Render Regions don't work , everything else does) - Big note here. The only supported shaders are Open4ES for GL4ES. It works best with Adreno graphics (found in Qualcomm Snapdragon SoCs) and PowerVR graphics, with required patches (found in several low-end MediaTek SoCs). Mali GPUs are not supported. Below is a list of smartphones that are tested and works with Open4ES: \n \n Xiaomi Poco F3 (Snapdragon 870) \n Xiaomi Poco X5 Pro (Snapdragon 778G) \n Xiaomi Redmi Note 8 (Snapdragon 665) \n Oppo A53 (Snapdragon 460) \n Skyblock Mods \n \n Essential \n Skytils ( 1.3.0-pre5 works) \n Patcher ( 1.6.1 works) \n NotEnoughUpdates ( 2.1.1-pre-1 works) \n Skyblock Extras \n Input-related Mods \n \n MidnightControls \n Controllable \n MouseTweaks \n almost all of them don't work because they aren't made with Android's inputs in mind \n Other Mods \n \n Create \n Flywheel \n Physics Mod \n Scannable (Works on 1.12) \n Colormatic \n ItemPhysic ( Lite works ) \n RandomPatches (Forge) (Fabric) \n Smooth Font \n MrCrayfish's Gun Mod (1.16.5) \n Applied Energistics , Applied Energistics 2 \n Zombe \n ReplayMod (FFMPEG wrongly placed) \n Dynamic Surroundings (White textures on 1.12) \n Sex mod (thanks @Adiixyz ) \n Immersive Vehicles (Forge Only) \n Immersive Engineering (Works on 1.12) \n Immersive Portals \n Immersive Railroading \n Immersive Engineering \n DiscordRPC - Big note here. If your PvP/Hack Client crashes because of this, contact their developers for a fix. \n Unsupported Clients \n \n BatMod \n LabyMod \n MysteryMod \n Lunar Client (Obvious reason, \".exe\") \n Badlion Client (same as Lunar ^) \n Salwyrr Client (how do you expect a launcher to run in a launcher?) \n Meteor Client \n Pizza Client \n Cheeto Client \n 3arthh4ck ( patched version here) \n Ares Client \n Credits \n \n \n https://github.com/Mathias-Boulay/ and all the people in issue #1948 \n \n \n https://github.com/ZenZenXDz \n \n \n https://github.com/revoscode \n \n \n https://github.com/GaucovyAero \n \n \n"},{title:"PojavLauncher",frontmatter:{home:!0,icon:"home",title:"PojavLauncher",heroImage:"/logo.png",heroText:"PojavLauncher",tagline:"A flexible, fast and open-source Minecraft Java Edition launcher for Android and iOS",actionText:"Get Started →",actionLink:"/INSTALL.md",copyright:!1,footer:"GPLv3 Licensed | Copyright © 2022, PojavLauncherTeam"},regularPath:"/",relativePath:"README.md",key:"v-b555e268",path:"/",lastUpdated:"10/30/2022, 11:13:14 PM",lastUpdatedTimestamp:1667171594e3,content:""},{title:'"There was a problem while parsing the package" error while installing',frontmatter:{},regularPath:"/PARSINGERROR.html",relativePath:"PARSINGERROR.md",key:"v-c6805a6a",path:"/PARSINGERROR.html",lastUpdated:"3/9/2023, 5:28:16 AM",lastUpdatedTimestamp:1678339696e3,content:' "There was a problem while parsing the package" error while installing \n Google Chrome may corrupt the installation of PojavLauncher. Instead of Chrome, use Firefox or Brave . \n Alternatively, you can use Split APKs Installer (SAI) if you would like to check the error message. (Most default installers do not show the installation error message) \n'},{title:'"App not installed"',frontmatter:{},regularPath:"/REFUSALOFINSTALL.html",relativePath:"REFUSALOFINSTALL.md",key:"v-9b08b72a",path:"/REFUSALOFINSTALL.html",headers:[{level:2,title:"Install with PC/Laptop",slug:"install-with-pc-laptop"},{level:2,title:"Install without PC/Laptop (Android 11 and newer only)",slug:"install-without-pc-laptop-android-11-and-newer-only"}],lastUpdated:"3/16/2023, 9:32:48 PM",lastUpdatedTimestamp:1679002368e3,content:" \"App not installed\" \n The error message looks like this: \n \n Not sure why this happens, but it only happened to one dev build for VenomousSteam81. \n Install with PC/Laptop \n To fix, simply grab your PC/Laptop (unless you have Android 11 and above, continue to the next session), install ADB for your OS. Then, search up how to use adb for your OS. After figuring that out, go ahead and connect your phone to your PC. \n Now, download the PojavLauncher build you downloaded on your phone (or copy the one off of your phone), do adb pm install path/to/pojavlauncher/apk.apk (if that doesn't work and gives an error, use adb shell pm install path/to/pojavlauncher/apk.apk ), and it should install. If not, please make an issue on the wiki github , making sure to mention VenomousSteam81. \n Install without PC/Laptop (Android 11 and newer only) \n First, go to settings and enable developer options (not telling you how to do so), turn on wireless ADB, accept all the ADB stuff, then either download and build it yourself with termux, buy the app from the play store , or go find some apk on the internet. \n Next, download PojavLauncher from GitHub Actions . Open LADB, accept the ADB connection, then type (or copy paste) pm install path/to/pojavlauncher/apk.apk . If that also doesn't work, please make an issue on the wiki github , making sure to mention VenomousSteam81. \n Thank you for your time! \n"},{title:"The road ahead for PojavLauncher",frontmatter:{},regularPath:"/ROADMAP.html",relativePath:"ROADMAP.md",key:"v-a4d8fe62",path:"/ROADMAP.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" The road ahead for PojavLauncher \n"},{title:"Renderers",frontmatter:{},regularPath:"/RENDERERS.html",relativePath:"RENDERERS.md",key:"v-fc8dde62",path:"/RENDERERS.html",headers:[{level:2,title:"Holy GL4ES",slug:"holy-gl4es"},{level:3,title:"A screenshot of Holy GL4ES running Minecraft 1.19.4",slug:"a-screenshot-of-holy-gl4es-running-minecraft-1-19-4"},{level:2,title:"ANGLE",slug:"angle"},{level:3,title:"A screenshot of ANGLE running Minecraft 1.19.4",slug:"a-screenshot-of-angle-running-minecraft-1-19-4"},{level:2,title:"virglrenderer",slug:"virglrenderer"},{level:3,title:"A screenshot of virglrenderer running Minecraft 1.12.2",slug:"a-screenshot-of-virglrenderer-running-minecraft-1-12-2"}],lastUpdated:"10/29/2023, 4:25:09 PM",lastUpdatedTimestamp:1698596709e3,content:" Renderers \n Minecraft runs on OpenGL, and mobile devices generally only support OpenGL ES (GLES). And since Minecraft won't run on GLES, we have to use renderers as compatibility layers between OpenGL ES and OpenGL. \n Holy GL4ES \n \n Designed for performance, Holy GL4ES is the default renderer in PojavLauncher and should be used in almost all scenrarios. \n Supports OpenGL 2.1 and has shader converting capabilities, thus makes up for about 1/8 of the OpenGL 3.x standard. \n Works on all versions of vanilla Minecraft. \n A screenshot of Holy GL4ES running Minecraft 1.19.4 \n ANGLE \n \n A bit slower than Holy GL4ES, runs on Vulkan. Should be used only in specific cases, where one can't load a server resource pack or a mod does not run because of missing OpenGL extensions. \n Supports OpenGL 3.2 only. \n Only works on Minecraft 1.17+ \n A screenshot of ANGLE running Minecraft 1.19.4 \n virglrenderer \n \n Very slow, will soon be removed. It's only use cases are mods that don't run because of missing OpenGL extensions and running shaders. \n Supports OpenGL 4.3. \n Works on Minecraft 1.7+, can be extremely buggy. \n A screenshot of virglrenderer running Minecraft 1.12.2 \n \n"},{title:"Shaders",frontmatter:{},regularPath:"/SHADERS.html",relativePath:"SHADERS.md",key:"v-1b47640f",path:"/SHADERS.html",headers:[{level:3,title:"Open4ES",slug:"open4es"},{level:3,title:"Screenshot of Open4ES-Chocapic on Minecraft 1.8.9",slug:"screenshot-of-open4es-chocapic-on-minecraft-1-8-9"}],lastUpdated:"10/29/2023, 4:25:09 PM",lastUpdatedTimestamp:1698596709e3,content:" Shaders \n Open4ES \n \n Famous shaders (e.g. SEUS), which are converted to work with GL4ES. \n Open4ES GitHub repository here . \n Open4ES Old Versions Archive here . \n Screenshot of Open4ES-Chocapic on Minecraft 1.8.9 \n \n"},{title:"Signing in",frontmatter:{},regularPath:"/SIGN-IN.html",relativePath:"SIGN-IN.md",key:"v-a6521322",path:"/SIGN-IN.html",lastUpdated:"12/14/2023, 7:15:25 PM",lastUpdatedTimestamp:1702581325e3,content:" Signing in \n PojavLauncher supports multiple types of accounts to sign in: \n \n Microsoft Accounts(*) \n Local Accounts(^) \n \n (*) Microsoft Accounts only work if the Microsoft Account has Minecraft: Java Edition purchased. \n (^) Local Accounts only work if you have already logged into a Microsoft Account with Minecraft: Java Edition purchased. \n"},{frontmatter:{},regularPath:"/ZINK.html",relativePath:"ZINK.md",key:"v-751f9e23",path:"/ZINK.html",lastUpdated:"2/22/2023, 12:51:27 PM",lastUpdatedTimestamp:1677070287e3,content:""},{title:"Supported Devices",frontmatter:{},regularPath:"/archived_pages/DEVICES_LINUX_INCL.html",relativePath:"archived_pages/DEVICES_LINUX_INCL.md",key:"v-051fd6ef",path:"/archived_pages/DEVICES_LINUX_INCL.html",headers:[{level:2,title:"Android",slug:"android"},{level:3,title:"ChromeOS",slug:"chromeos"},{level:3,title:"Linux",slug:"linux"},{level:2,title:"iOS",slug:"ios"}],lastUpdated:"10/29/2022, 1:35:25 PM",lastUpdatedTimestamp:1667050525e3,content:" Supported Devices \n Android \n Minimum requirements: \n \n 32-bit (aarch32 or 32-bit/i386) CPU \n Android 5.0 \n 1 gigabyte of RAM \n \n Recommended requirements: \n \n 64-bit (aarch64 or 64-bit/x86_64) CPU \n Android 8.0 \n 4 gigabytes of RAM \n GPU with \"Vulkan\" API (support for vulkanmod and/or v3_zink ) \n ChromeOS \n Chromebooks have very similar system requirements, however Android version does not matter, as long as you can install Android apps. \n Linux \n It is not recommended to run PojavLauncher on Linux. Though, you can try sideloading the app on your distribution by using Anbox or Waydroid. We won't provide support for it though. \n \n Installing Anbox\n \n on Ubuntu ( snap is required); \n \n snap install --devmode --beta anbox\n \n You'll have to install necessary kernel modules though, so check the official Anbox wiki about it.\n \n \n on Arch-based (Manjaro, Endeavor, Garuda) distributions; \n Check the official Arch wiki about it, as it is a loooong tutorial to be included here. \n iOS \n Minimum requirements: \n \n Apple A8 SoC\n \n The Apple A7 SoC is losing support in PojavLauncher 2.2. \n \n \n iOS 12 \n 1 gigabyte of RAM \n \n Recommended requirements: \n \n Apple A10/A10X Fusion SoC \n iOS 14 \n 2 gigabytes of RAM \n \n"},{title:"Bringing PojavLauncher to unjailbroken iOS",frontmatter:{},regularPath:"/UNJAIL.html",relativePath:"UNJAIL.md",key:"v-5ed8efd6",path:"/UNJAIL.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Bringing PojavLauncher to unjailbroken iOS \n After many months working on PojavLauncher for unjailbroken devices, we're so excited to announce PojavLauncher 2.1--the first official build of PojavLauncher to support unjailbroken iDevices! This means that you can enjoy PojavLauncher while still keeping your device secure and on the latest versions of iOS! \n"},{title:"OpenJDK 8, coming to iOS",frontmatter:{},regularPath:"/archived_pages/JDK8.html",relativePath:"archived_pages/JDK8.md",key:"v-687695a2",path:"/archived_pages/JDK8.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" OpenJDK 8, coming to iOS \n"},{title:"Supporting 1.17 and beyond",frontmatter:{},regularPath:"/archived_pages/OGL32.html",relativePath:"archived_pages/OGL32.md",key:"v-98819f36",path:"/archived_pages/OGL32.html",headers:[{level:2,title:"Known issues",slug:"known-issues"},{level:2,title:"Platform-specific instruction",slug:"platform-specific-instruction"},{level:3,title:"Android:",slug:"android"},{level:3,title:"iOS:",slug:"ios"},{level:2,title:"Note for Minecraft 21w37a+ on Android (thanks to @NotAHero04)",slug:"note-for-minecraft-21w37a-on-android-thanks-to-notahero04"},{level:2,title:"Does OptiFine or Sodium works?",slug:"does-optifine-or-sodium-works"},{level:3,title:"OptiFine",slug:"optifine"},{level:3,title:"Sodium",slug:"sodium"}],lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:' Supporting 1.17 and beyond \n After many days and nights spent working on a temporary solution (and trust me, this is definitely temporary), we\'ve gotten something done: support for 1.17 is here. With backporting work done by artdeell and Java 17 ported by DuyKhanhTran, 1.17 is usable and playable with gl4es. This also applies with 1.17.1 and 1.18 experimental snapshots. \n Here\'s how to get it to work. You need to have a GitHub account in order to download the builds and JRE. Regardless of your platform, you\'ll need to download this resource pack . The resource pack seems to be no longer required as it is automated in newer builds. This is artdeell\'s patch for 1.17 on gl4es. \n Known issues \n \n [Android only] Crosshair icon and Block outline don\'t render. \n You can tell us in our Discord server or open an issue if you found one. \n UPDATE: 32-bit platforms (ARMv7 and i386) are currently broken for various reasons. We are looking for a solution. We finally found a gold bar under the sea! Although this JRE17 is not initially made for PojavLauncher, it works magically. Now you can use this JRE17 build to play 1.17.1 until we stabilize it and bring it to PojavLauncher. (Very soon.) \n Platform-specific instruction \n Android: \n \n Download latest build: here . \n Download JRE17: here . You need to download the artifact that matches your device architecture: jre17- , don’t pick jdk17 or debuginfo. \n When you install the APK, it will be displayed as second app if you have one installed before. \n Go to launcher settings. \n Choose Manage runtime -> Add new. Pick the downloaded JRE17 runtime there. \n Switch renderer to gl4es 1.1.5 - OpenGL ES 3. \n On 32-bit, you need to add -Xss1m to JVM arguments, otherwise Java will crash. \n Now launch Minecraft 1.17 and enjoy! \n iOS: \n \n Install package openjdk-16-jre or openjdk-17-jre (if you have Procursus bootstrap) \n Get latest build from the GitHub or Doregon\'s Repo . \n After install, go into PojavLauncher, sign in and choose the more icon to enter Preferences. \n Change Java version to 16 or 17, then restart the launcher in order to take effect. For 1.18 snapshots, Java 17 is recommended as Java 16 seems to cause a weird problem. \n Change Renderer to tinygl4angle . \n Now launch Minecraft 1.17 and enjoy! \n Since iOS uses tinygl4angle renderer which supports (most?) GLSL 1.50 functionally, this can also be applied to 21w37a+. \n Note for Minecraft 21w37a+ on Android (thanks to @NotAHero04 ) \n \n Since 21w37a, Mojang bumped the resource pack version to 8, which rendered the current assets-v0 patch unusable. This is the patch for those versions. Simply replace it to the existing assets-v0, and you’re good to go! \n A small note: When the popup about 1.17 appears, tap Play Anyway . Tapping OK will overwrite the patch . \n Another small note: 1.17.1 or below will simply not work with this patch. I recommend using per-version config feature with it. If you still want to play 1.17.1 or below, keep the original assets-v0 and follow this instruction: \n \n \n \n Download the new assets-v0 on the PojavLauncher Discord server, or here. \n \n \n Give it another name then move it to /sdcard/Android/data/net.kdt.pojavlaunch[.debug]/files/.minecraft/resourcepacks (on Android 10 or later) or /sdcard/games/PojavLauncher/.minecraft/resourcepacks (on Android 9 or below). \n \n \n Modify the options.txt file.\nWith the file names above, change the resourcePacks key to:\nresourcePacks:["assets-v0.zip"," new_patch_name .zip"]. \n \n \n Now enjoy your game. Be sure to choose Play Anyway when the popup shows. \n \n \n Until we get a more permenant solution to fix 1.17 and newer, this is what we have. It\'s not perfect, but it works. We hope to see a version of gl4es that translates OpenGL 3 to OpenGL ES, or continue to work on Zink as a backup method if all else fails.* \n Does OptiFine or Sodium works? \n OptiFine \n \n \n OptiFine seems to not working on Android, as the patch resource pack gets ignored. However, it works by putting patched shader files into the client. \n \n Download this patcher . Since OptiFine preloads some shader files, the assets-v0 resource pack trick could not be applied. \n Navigate to Options -> Launch a mod installer (the first option). Pick the downloaded patcher. \n Select the installed OptiFine version that you want to patch. \n Press "OK" to start the patch process. \n The alert "Patched version " will be displayed once the patching process finished, otherwise, an alert will display with some error description. Report this to us if this happens. \n Now go back to the launcher and press Play. When an alert displays about "install additional resources”, press “Play anyway”. \n Enjoy OptiFine moment. \n \n Known issue: Render Regions crashes the game. \n \n \n OptiFine works on iOS. Render Regions works. \n Sodium \n \n Sodium is currently not working on both platforms. \n \n'},{title:"Interacting with our fellow developers",frontmatter:{},regularPath:"/archived_pages/PARTNERSHIPS.html",relativePath:"archived_pages/PARTNERSHIPS.md",key:"v-72831da2",path:"/archived_pages/PARTNERSHIPS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Interacting with our fellow developers \n"},{title:"PojavLauncher Website Archives",frontmatter:{},regularPath:"/archived_pages/",relativePath:"archived_pages/README.md",key:"v-66a0075c",path:"/archived_pages/",lastUpdated:"10/29/2022, 1:35:25 PM",lastUpdatedTimestamp:1667050525e3,content:" PojavLauncher Website Archives \n To keep up with changes in PojavLauncher's lifecycle, various pages will be archived if they are no longer updated and no longer relevant. These pages can be accessed by adding /archived_pages to the end of the domain name. \n Pages currently in the archive: \n Deprecating support for the Apple A7 chip (RIP-A7) \n Supporting 1.17 and beyond (OGL32) \n Interacting with our fellow developers (PARTNERSHIPS) \n OpenJDK 8, coming to iOS (JDK8) \n Installing PojavLauncher (ft. Linux) \n"},{title:"Deprecating support for the Apple A7 chip",frontmatter:{},regularPath:"/archived_pages/RIP-A7.html",relativePath:"archived_pages/RIP-A7.md",key:"v-1e60c8e2",path:"/archived_pages/RIP-A7.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Deprecating support for the Apple A7 chip \n The Apple A7 chip was legendary for its technological advances in 2013. However, it's almost a decade since the introduction of the first device with this processor. Apple no longer supports these devices on the latest versions of iOS, and iOS 12 performs with noticeable performance issues already. \n Due to these technical limitations imposed by the hardware and software on these devices, we're ending support for them with the release of PojavLauncher 2.2. \n This means the following: \n \n \n PojavLauncher 2.1 will warn A7 users about the upcoming deprecation, once upon every 30 launches of the app. This can be disabled by flipping the a7_allow preference to YES . \n \n \n PojavLauncher 2.1's code will be archived and moved to the 2.1-legacy branch. Security fixes will be applied in 2.1 as needed, but no new features will be added to these releases. Third-party users can choose to continue support for A7-related issues, however unofficial forks of PojavLauncher will not be supported. \n \n \n PojavLauncher 2.2 will disable support for A7 users on launch, requesting users to return to 2.1 or move to an A8+ device. This can also be overriden by flipping the a7_allow preference to YES , however support will not be provided for issues encountered while using an A7 device. \n \n If the issue affects other devices as well, the issue will be deemed valid if logs from a supported device are available. \n \n \n \n"},{frontmatter:{},regularPath:"/changelogs/ANDROID.html",relativePath:"changelogs/ANDROID.md",key:"v-cb4c1c86",path:"/changelogs/ANDROID.html",lastUpdated:"10/29/2023, 4:25:09 PM",lastUpdatedTimestamp:1698596709e3,content:" \n"},{title:"PojavLauncher Wiki Images",frontmatter:{},regularPath:"/images/",relativePath:"images/README.md",key:"v-7e90673c",path:"/images/",headers:[{level:2,title:"Directory Structure",slug:"directory-structure"},{level:2,title:"Contributing to this directory",slug:"contributing-to-this-directory"}],lastUpdated:"10/29/2022, 1:13:25 PM",lastUpdatedTimestamp:1667049205e3,content:" PojavLauncher Wiki Images \n This directory is pretty self explanatory; it contains images used for the Wiki \n Directory Structure \n images\n├── Actions\n│ ├── android\n│ │ └── Android-Actions-1.png\n│ │ Android-Actions-2.png\n│ │ Android-Actions-3.png\n│ │ Android-Actions-4.png\n│ └── ios\n│ └── iOS-Actions-1.png\n│ iOS-Actions-1.png\n│ iOS-Actions-1.png \n│ iOS-Actions-1.png\n├── Screenshots\n│ ├── Controls\n│ │\n│ └── OptiFine\n│ └── OptiFine.png\n│ OptiFine-1.png\n│ OptiFine-2.png\n│ \n└── EOF (END OF DIRECTORY) \n Contributing to this directory \n You can: \n \n Change images \n Replace image with a better quality\n \n Add missing images that you think is required \n \n \n \n Submit/Open a pull request on this repository! \n \n ^ w ^ -NeveuXon/Nev \n"},{title:"PojavLauncher iOS",frontmatter:{},regularPath:"/changelogs/IOS.html",relativePath:"changelogs/IOS.md",key:"v-7fc82f01",path:"/changelogs/IOS.html",headers:[{level:2,title:'2.2 "Deepslate"',slug:"_2-2-deepslate"},{level:2,title:'2.1 "Sculk Catalyst"',slug:"_2-1-sculk-catalyst"},{level:3,title:"Jailbreak requirement",slug:"jailbreak-requirement"},{level:3,title:"New features",slug:"new-features"},{level:3,title:"Security",slug:"security"},{level:3,title:"User interface",slug:"user-interface"},{level:3,title:"Fixes",slug:"fixes"},{level:3,title:"Issues",slug:"issues"},{level:2,title:"2.0.1",slug:"_2-0-1"},{level:2,title:'2.0 "Raw Iron"',slug:"_2-0-raw-iron"},{level:3,title:"Changes",slug:"changes"},{level:3,title:"Fixes",slug:"fixes-2"},{level:3,title:"Issues",slug:"issues-2"},{level:3,title:"A note for old iDevices",slug:"a-note-for-old-idevices"},{level:2,title:"1.2",slug:"_1-2"},{level:3,title:"Changes",slug:"changes-2"},{level:3,title:"Fixes",slug:"fixes-3"},{level:3,title:"Known issues",slug:"known-issues"},{level:3,title:"A note for old iDevices",slug:"a-note-for-old-idevices-2"},{level:2,title:"1.1",slug:"_1-1"},{level:3,title:"Changes",slug:"changes-3"},{level:3,title:"Fixes",slug:"fixes-4"},{level:3,title:"Known issues",slug:"known-issues-2"},{level:3,title:"A note for old iDevices",slug:"a-note-for-old-idevices-3"},{level:2,title:"1.0",slug:"_1-0"},{level:3,title:"Features",slug:"features"},{level:3,title:"Limitations",slug:"limitations"},{level:3,title:"Crashes",slug:"crashes"}],lastUpdated:"5/6/2023, 8:49:07 PM",lastUpdatedTimestamp:1683406147e3,content:' PojavLauncher iOS \n 2.2 "Deepslate" \n With this release of PojavLauncher, we refined features, fixed bugs, and implemented small additions to existing ones to buff user experience. While there are not many notable changes to discuss here, there are some we can show: \n \n Implemented a controller configurator \n Increased reliability in various places \n Added haptics to the on-screen controls \n Switched to new input methods to speed up control times \n Secured demo mode \n Added new preferences to control more of the app \n Resolve various issues with windowing in older versions \n and many, many more! \n \n This is the last major release of PojavLauncher that will support iOS 12 and 13. Important security patches and bug fixes will be applied when required for a limited time, however take note that issues encountered will not be considered high priority. See more information in #547. \n A full commit changelog is available here . \n 2.1 "Sculk Catalyst" \n Minor release, major changes! \n Jailbreak requirement \n PojavLauncher no longer requires a jailbreak to work, so it will also work on the latest iOS version. While it works, certain features are limited: \n \n You will need a support app to launch with JIT enabled. JitStreamer integration is done to automate this task. \n Initial Wi-Fi connection is required to enable JIT. Cellular data isn’t supported, Wi-Fi hotspot might be a workaround. \n RAM allocation is limited. Attempt to go beyond the limit will result in random crashes while loading world chunks. \n \n If installed with TrollStore, these limitations aren’t applied, as it has sandbox exceptions to bypass, so it works like when jailbroken. \n New features \n \n Added Demo mode support \n Automatic Java version and Renderer selection \n Cosmetica custom capes integration \n Complete Controller support \n Fullscreen AirPlay display support \n Keyboard and mouse support deepened \n Many settings that were missing from Android are added \n (iPadOS 16) Stage Manager support \n Security \n \n Patch log4shell exploit in client \n User interface \n \n Added vertical UI \n Redesigned Launcher UI to match Android \n The current login state will be shown in the title \n Play button is greyed out when launching \n Back button is hidden when launching \n Custom controls UI completed \n The control button editor is now a movable window \n When game crash occurs, Log Output will be shown for user to determine the problem in place \n Multilingual support: you can contribute your translation through Crowdin \n New switch to unlock iPadOS UI, allows iPhone users to unlock certain features that are only available on iPad (floating keyboard for example) \n Fixes \n \n Slight changes to error messages \n Fix Makefile errors in deploy and ipa \n Fix NullPointerException when launching ≤1.6.4 \n Fix NullPointerException when setting inherited fields \n Fix “Share your logs” not working \n Fix Forge, Fabric 1.17+ not launching \n Fix postinst issue on Procursus \n Issues \n \n Nintendo Switch Joy-Con controllers are only officially supported since iOS 16.0 \n Mouse support requires iOS 14.0 or later, keyboards require iOS 13.4 or later \n Old (pre-2.0) custom control .json files no longer work, remove to fix \n This is the last release that will support Apple devices with the A7 chip \n Mojang login has been removed with this release due to the March 10th deadline \n 2.0.1 \n This release is identical to v2.0, except with a fix for issues installing on Procursus jailbreak, and fixes for the depiction. \n 2.0 "Raw Iron" \n Changes \n \n The Login view has been simplified to three easy buttons \n The Offline Account has been replaced with Local Account . Installing Minecraft now requires a Mojang or Microsoft account logged in. \n New FAQ page to show quick answers to questions \n New About view to show quick details, links, and update history \n Ability to send logs from within the launcher \n The Select Account screen is now a pop-up window \n New picker view to switch versions without typing them manually \n Support to show your locally installed clients \n New settings page to manage preferences \n OpenJDK 8 support, to allow older versions of modded Minecraft \n New mod installer, built into the launcher \n Unfinished in-launcher custom controls (#292) \n Move to /usr/share , for better rootFS compatibility \n New packaging format (#291)\n \n release, for iOS 14 and lower (full root access jailbreaks) \n release-rootless, for iOS 15 (Procursus rootless jailbreak) \n Fixes \n \n WIP fix for typing on 1.12.2 and older \n The hotbar now works across GUI scales \n (With JDK 8) Forge 1.8.9 - 1.15.2 now work \n (With JDK 8) Vanilla 1.5.2 and under now work \n Buttons now scale correctly according to screen size \n Crash if login to Microsoft fails. \n Issues \n \n Old custom control .json files no longer work, remove to fix \n Custom controls settings page is not complete, there may be some issues! \n An unknown issue might cause Taurine, 14.3, and A12+ to crash on launch. \n A note for old iDevices \n \n If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds or servers due to too little RAM. Higher RAM can be set (using the Java arguments preference and overb0ard), but you may need to close all apps and remove some tweaks in order to free up enough. \n 1.2 \n Changes \n \n Use new method for Microsoft login \n Added gl4es 1.1.5 as an option \n WIP custom controls (can be changed by placing at /var/mobile/Documents/.pojavlauncher/controlmap/default.json ). Note that some functions may not work properly. \n WIP external mouse support \n Custom environment variables, in /var/mobile/Documents/.pojavlauncher/custom_env.txt \n Reduction of file size with removal of unused binaries \n Moved latestlog.txt and overrideargs.txt to /var/mobile/Documents/.pojavlauncher \n Fixes \n \n Fix file permission issues during install of package \n Hide home bar like Bedrock Edition \n Properly hide iPad status bar \n Known issues \n \n Crash if login to Microsoft fails. \n Control buttons notch offset seems doubled. \n Several Forge versions won’t work due to removed deprecated classes (see #67 and #68). \n Text input will not work on 1.12.2 and below. \n A note for old iDevices \n \n If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds or servers due to too little RAM. Higher RAM can be set (using the overrideargs.txt file and jetsamctl), but we are unsure if iOS 12 will give enough free RAM. \n 1.1 \n Changes \n \n Added a place to customize JVM Flags, by create and edit minecraft/overrideargs.txt file. \n Changed button offset for avoiding notch cutout on iPhone X and newer. \n Forge 1.13+ (not all) and Fabric API are now supported. \n launcher_profiles.json is now automatically created. \n Minecraft 1.6.1 to 1.13.2 are now playable. \n Mojang authentication was re-written, so it should work now. \n Fixes \n \n Fixed random crashes occur while Minecraft is initializing. \n Known issues \n \n Crash if login to Microsoft fails. \n Several Forge versions won’t work due to removed deprecated classes (see #67 and #68). \n Text input will not work on 1.12.2 and below. \n A note for old iDevices \n \n If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds due to too few RAM. Higher RAM can be set, but I\'m unsure if iOS 12 will gives enough free RAM. \n 1.0 \n Features \n \n Login with Mojang (might not work), Microsoft (not tested) or offline. \n Minecraft 1.14+ are playable. \n Multiplayer and joining servers works. \n Audio works (need enable ringer). \n Fabric and OptiFine works. \n Bedrock-like gestures: click to hotbar item; click to place block (trigger right mouse); hold and move to destroy blocks (trigger hold left mouse), but attacking entites is left mouse, so not same as Bedrock. \n Hold screen on UI will hold the left mouse, so it can also used for moving the scroll bar. \n On-screen control buttons. \n Limitations \n \n Jailbreak is required in order to install OpenJDK and PojavLauncher. \n Forge won\'t work. \n Fabric API won\'t work. \n Tell us . \n Crashes \n \n I\'ve got some reports that JVM was crashing after press “Play” button. \n Also, it seems that checkra1n jailbroken devices will get crashed at entering Minecraft (?) \n They were all random crashes and will be fixed in next release. \n \n'}],themeConfig:{lastUpdated:!0,repo:"https://github.com/PojavLauncherTeam/PojavLauncherTeam.github.io/",docsDir:"",docsBranch:"lunaveux-patch-1",editLinks:!0,editLinkText:"Help us improve this page!",logo:"logo.png",sidebar:[{title:"Wiki",collapsable:!1,children:[{title:"Getting Started",collapsable:!1,sidebarDepth:1,children:["INSTALL","BUILD-FROM-SOURCE","SIGN-IN","INSTALL-MC","DEFAULT-CONTROLS"]},{title:"Frequently Asked Questions",collapsable:!0,sidebarDepth:1,children:[{title:"iOS-specific",collapsable:!0,sidebarDepth:1,children:["JIT"]},{title:"Android-specific",collapsable:!0,sidebarDepth:1,children:["PARSINGERROR","REFUSALOFINSTALL","32BIT","NOTCHFIX","FFMPEG","ZINK","SHADERS","RENDERERS","3PTYCLIENTS","117CC"]}]},{title:"Going further",collapsable:!0,sidebarDepth:1,children:["CUSTOM-CONTROLS","OPTIMIZATION","CUSTOM-MC","MODPACKS","ENV-VARS","JAVA-ARGS","DEBUG-LOG"]}]},{title:"About PojavLauncher",collapsable:!1,sidebarDepth:1,children:["LEGAL","DEVICES","MCVERS","MODS-UNSUPPORTED","ROADMAP"]},{title:"Contributing",collapsable:!1,sidebarDepth:1,children:["CONT-POJAV","CONT-WEBSITE","CONT-TRANSLATIONS"]},{title:"Recent Updates",collapsable:!1,sidebarDepth:1,children:["UNJAIL","IOS-SUPPORT","LOCAL-MODE"]}]}};n(242);qn.component("Badge",()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,328))),qn.component("ThemeManager",()=>n.e(7).then(n.bind(null,326))),qn.component("Badge",()=>Promise.all([n.e(0),n.e(21)]).then(n.bind(null,376))),qn.component("CodeBlock",()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,322))),qn.component("CodeGroup",()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,323)));n(243),n(244);qn.component("CodeSwitcher",()=>n.e(25).then(n.bind(null,327)));var Zs={name:"BackToTop",props:{threshold:{type:Number,default:300}},data:()=>({scrollTop:null}),computed:{show(){return this.scrollTop>this.threshold}},mounted(){this.scrollTop=this.getScrollTop(),window.addEventListener("scroll",Os()(()=>{this.scrollTop=this.getScrollTop()},100))},methods:{getScrollTop:()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,scrollToTop(){window.scrollTo({top:0,behavior:"smooth"}),this.scrollTop=0}}},Qs=(n(245),Object(Cs.a)(Zs,(function(){var e=this._self._c;return e("transition",{attrs:{name:"fade"}},[this.show?e("svg",{staticClass:"go-to-top",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49.484 28.284"},on:{click:this.scrollToTop}},[e("g",{attrs:{transform:"translate(-229 -126.358)"}},[e("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(229 151.107) rotate(-45)"}}),this._v(" "),e("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(274.949 154.642) rotate(-135)"}})])]):this._e()])}),[],!1,null,"5fd4ef0c",null).exports);function el(e){const t=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{x:n.left-t.left,y:n.top-t.top}}var tl=[{},({Vue:e})=>{e.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{},({Vue:e})=>{e.component("CodeCopy",Ls)},{},{},({Vue:e})=>{e.component("BackToTop",Qs)},({Vue:e,router:t})=>{t.options.scrollBehavior=(t,n,o)=>{if(o)return window.scrollTo({top:o.y,behavior:"smooth"});if(!t.hash)return window.scrollTo({top:0,behavior:"smooth"});{if(e.$vuepress.$get("disableScrollBehavior"))return;const n=t.hash.slice(1),o=document.getElementById(n)||document.querySelector(`[name='${n}']`);if(o)return window.scrollTo({top:el(o).y,behavior:"smooth"})}}}],nl=n(46);class ol extends class{constructor(){this.store=new qn({data:{state:{}}})}$get(e){return this.store.state[e]}$set(e,t){qn.set(this.store.state,e,t)}$emit(...e){this.store.$emit(...e)}$on(...e){this.store.$on(...e)}}{}Object.assign(ol.prototype,{getPageAsyncComponent:ss,getLayoutAsyncComponent:ls,getAsyncComponent:cs,getVueComponent:us});var rl={install(e){const t=new ol;e.$vuepress=t,e.prototype.$vuepress=t}};function il(e,t){const n=t.toLowerCase();return e.options.routes.some(e=>e.path.toLowerCase()===n)}var al={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(e){const t=this.pageKey||this.$parent.$page.key;return fs("pageKey",t),qn.component(t)||qn.component(t,ss(t)),qn.component(t)?e(t):e("")}},sl={functional:!0,props:{slotKey:String,required:!0},render:(e,{props:t,slots:n})=>e("div",{class:["content__"+t.slotKey]},n()[t.slotKey])},ll={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},cl=(n(246),n(247),Object(Cs.a)(ll,(function(){var e=this._self._c;return e("span",[e("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[e("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),e("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),e("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),ul={functional:!0,render(e,{parent:t,children:n}){if(t._isMounted)return n;t.$once("hook:mounted",()=>{t.$forceUpdate()})}};qn.config.productionTip=!1,qn.use(Ha),qn.use(rl),qn.mixin(function(e,t,n=qn){!function(e){e.locales&&Object.keys(e.locales).forEach(t=>{e.locales[t].path=t});Object.freeze(e)}(t),n.$vuepress.$set("siteData",t);const o=new(e(n.$vuepress.$get("siteData"))),r=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(o)),i={};return Object.keys(r).reduce((e,t)=>(t.startsWith("$")&&(e[t]=r[t].get),e),i),{computed:i}}(e=>class{setPage(e){this.__page=e}get $site(){return e}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:e={}}=this.$site;let t,n;for(const o in e)"/"===o?n=e[o]:0===this.$page.path.indexOf(o)&&(t=e[o]);return t||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:e}=this.$page.frontmatter;return"string"==typeof e&&e}get $title(){const e=this.$page,{metaTitle:t}=this.$page.frontmatter;if("string"==typeof t)return t;const n=this.$siteTitle,o=e.frontmatter.home?null:e.frontmatter.title||e.title;return n?o?o+" | "+n:n:o||"VuePress"}get $description(){const e=function(e){if(e){const t=e.filter(e=>"description"===e.name)[0];if(t)return t.content}}(this.$page.frontmatter.meta);return e||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(e,t){for(let n=0;nn||(e.hash?!qn.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(e.hash)}:{x:0,y:0})});!function(e){e.beforeEach((t,n,o)=>{if(il(e,t.path))o();else if(/(\/|\.html)$/.test(t.path))if(/\/$/.test(t.path)){const n=t.path.replace(/\/$/,"")+".html";il(e,n)?o(n):o()}else o();else{const n=t.path+"/",r=t.path+".html";il(e,r)?o(r):il(e,n)?o(n):o()}})}(n);const o={};try{await Promise.all(tl.filter(e=>"function"==typeof e).map(t=>t({Vue:qn,options:o,router:n,siteData:Ys,isServer:e})))}catch(e){console.error(e)}return{app:new qn(Object.assign(o,{router:n,render:e=>e("div",{attrs:{id:"app"}},[e("RouterView",{ref:"layout"}),e("div",{class:"global-ui"},nl.a.map(t=>e(t)))])})),router:n}}(!1).then(({app:e,router:t})=>{t.onReady(()=>{e.$mount("#app")})})}]); \ No newline at end of file diff --git a/assets/js/app.f1481308.js b/assets/js/app.f1481308.js deleted file mode 100644 index aff36e55..00000000 --- a/assets/js/app.f1481308.js +++ /dev/null @@ -1,16 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function t(t){for(var r,a,s=t[0],c=t[1],l=t[2],d=0,f=[];d=t||n<0||m&&e-l>=i}function _(){var e=p();if(w(e))return S(e);s=setTimeout(_,function(e){var n=t-(e-c);return m?f(n,i-(e-l)):n}(e))}function S(e){return s=void 0,g&&r?y(e):(r=o=void 0,a)}function O(){var e=p(),n=w(e);if(r=arguments,o=this,c=e,n){if(void 0===s)return b(c);if(m)return s=setTimeout(_,t),y(c)}return void 0===s&&(s=setTimeout(_,t)),a}return t=v(t)||0,h(n)&&(u=!!n.leading,i=(m="maxWait"in n)?d(v(n.maxWait)||0,t):i,g="trailing"in n?!!n.trailing:g),O.cancel=function(){void 0!==s&&clearTimeout(s),l=0,r=c=o=s=void 0},O.flush=function(){return void 0===s?a:S(p())},O}},function(e,t,n){var r,o; -/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT */void 0===(o="function"==typeof(r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(e,t,n){return en?n:e}function i(e){return 100*(-1+e)}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var c=n.render(!t),l=c.querySelector(r.barSelector),u=r.speed,d=r.easing;return c.offsetWidth,a((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(l,function(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+n,o}(e,u,d)),1===e?(s(c,{transition:"none",opacity:1}),c.offsetWidth,setTimeout((function(){s(c,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");l(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,a=t.querySelector(r.barSelector),c=e?"-100":i(n.status||0),u=document.querySelector(r.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+c+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),u!=document.body&&l(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var a=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()})),t[n]||(t[n]=function(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+i)in n)return r;return t}(n))}function r(e,t,r){t=n(t),e.style[t]=r}return function(e,t){var n,o,i=arguments;if(2==i.length)for(n in t)void 0!==(o=t[n])&&t.hasOwnProperty(n)&&r(e,n,o);else r(e,i[1],i[2])}}();function c(e,t){return("string"==typeof e?e:d(e)).indexOf(" "+t+" ")>=0}function l(e,t){var n=d(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function u(e,t){var n,r=d(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function d(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?r.call(t,n,t,e):r)||(e.exports=o)},function(e,t,n){"use strict";var r=n(1),o=n(47).f,i=n(13),a=n(106),s=n(33),c=n(63),l=n(122);e.exports=function(e,t){var n,u,d,f,p,h=e.target,v=e.global,m=e.stat;if(n=v?r:m?r[h]||s(h,{}):(r[h]||{}).prototype)for(u in t){if(f=t[u],d=e.dontCallGetSet?(p=o(n,u))&&p.value:n[u],!l(v?u:h+(m?".":"#")+u,e.forced)&&void 0!==d){if(typeof f==typeof d)continue;c(f,d)}(e.sham||d&&d.sham)&&i(f,"sham",!0),a(n,u,f,e)}}},function(e,t,n){"use strict";var r=n(26),o=Function.prototype.call;e.exports=r?o.bind(o):function(){return o.apply(o,arguments)}},function(e,t,n){"use strict";var r=n(2);e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var r=n(48),o=n(49);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(1),o=n(0),i=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e]):r[e]&&r[e][t]}},function(e,t,n){"use strict";var r=n(0),o=n(102),i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not a function")}},function(e,t,n){"use strict";var r=n(1),o=n(58),i=n(8),a=n(60),s=n(56),c=n(55),l=r.Symbol,u=o("wks"),d=c?l.for||l:l&&l.withoutSetter||a;e.exports=function(e){return i(u,e)||(u[e]=s&&i(l,e)?l[e]:d("Symbol."+e)),u[e]}},function(e,t,n){"use strict";var r=n(1),o=n(33),i=r["__core-js_shared__"]||o("__core-js_shared__",{});e.exports=i},function(e,t,n){"use strict";var r=n(1),o=Object.defineProperty;e.exports=function(e,t){try{o(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}},function(e,t,n){"use strict";var r=n(49),o=Object;e.exports=function(e){return o(r(e))}},function(e,t,n){"use strict";var r=n(9),o=String,i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not an object")}},function(e,t,n){"use strict";var r=n(119);e.exports=function(e){return r(e.length)}},function(e,t,n){var r=n(146),o=n(11),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=c},function(e,t,n){var r=n(10)(n(6),"Map");e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var r=n(166),o=n(173),i=n(175),a=n(176),s=n(177);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){var r=n(4),o=n(44),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!o(e))||(a.test(e)||!i.test(e)||null!=t&&e in Object(t))}},function(e,t,n){var r=n(12),o=n(11);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},function(e,t){e.exports=function(e){return e}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";var r=n(5),o=n(25),i=n(98),a=n(27),s=n(28),c=n(51),l=n(8),u=n(61),d=Object.getOwnPropertyDescriptor;t.f=r?d:function(e,t){if(e=s(e),t=c(t),u)try{return d(e,t)}catch(e){}if(l(e,t))return a(!o(i.f,e,t),e[t])}},function(e,t,n){"use strict";var r=n(3),o=n(2),i=n(15),a=Object,s=r("".split);e.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?s(e,""):a(e)}:a},function(e,t,n){"use strict";var r=n(50),o=TypeError;e.exports=function(e){if(r(e))throw o("Can't call method on "+e);return e}},function(e,t,n){"use strict";e.exports=function(e){return null==e}},function(e,t,n){"use strict";var r=n(99),o=n(53);e.exports=function(e){var t=r(e,"string");return o(t)?t:t+""}},function(e,t,n){"use strict";var r="object"==typeof document&&document.all,o=void 0===r&&void 0!==r;e.exports={all:r,IS_HTMLDDA:o}},function(e,t,n){"use strict";var r=n(29),o=n(0),i=n(54),a=n(55),s=Object;e.exports=a?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return o(t)&&i(t.prototype,s(e))}},function(e,t,n){"use strict";var r=n(3);e.exports=r({}.isPrototypeOf)},function(e,t,n){"use strict";var r=n(56);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){"use strict";var r=n(57),o=n(2),i=n(1).String;e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},function(e,t,n){"use strict";var r,o,i=n(1),a=n(100),s=i.process,c=i.Deno,l=s&&s.versions||c&&c.version,u=l&&l.v8;u&&(o=(r=u.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},function(e,t,n){"use strict";var r=n(59),o=n(32);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.32.0",mode:r?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.32.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var r=n(3),o=0,i=Math.random(),a=r(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+a(++o+i,36)}},function(e,t,n){"use strict";var r=n(5),o=n(2),i=n(104);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(8),o=n(113),i=n(47),a=n(16);e.exports=function(e,t,n){for(var s=o(t),c=a.f,l=i.f,u=0;uu))return!1;var f=c.get(e),p=c.get(t);if(f&&p)return f==t&&p==e;var h=-1,v=!0,m=2&n?new r:void 0;for(c.set(e,t),c.set(t,e);++h-1&&e%1==0&&e]/;e.exports=function(e){var t,n=""+e,o=r.exec(n);if(!o)return n;var i="",a=0,s=0;for(a=o.index;a1?1:s,n=.5*(1-Math.cos(Math.PI*a)),r=t.startX+(t.x-t.startX)*n,o=t.startY+(t.y-t.startY)*n,t.method.call(t.scrollable,r,o),r===t.x&&o===t.y||e.requestAnimationFrame(p.bind(e,t))}function h(n,r,a){var c,l,u,d,f=i();n===t.body?(c=e,l=e.scrollX||e.pageXOffset,u=e.scrollY||e.pageYOffset,d=o.scroll):(c=n,l=n.scrollLeft,u=n.scrollTop,d=s),p({scrollable:c,method:d,startTime:f,startX:l,startY:u,x:r,y:a})}}}}()},function(e,t,n){"use strict";var r=n(24),o=n(34),i=n(36),a=n(126),s=n(128);r({target:"Array",proto:!0,arity:1,forced:n(2)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function(e){var t=o(this),n=i(t),r=arguments.length;s(n+r);for(var c=0;c79&&a<83||!i("reduce")},{reduce:function(e){var t=arguments.length;return o(this,e,t,t>1?arguments[1]:void 0)}})},function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},function(e,t,n){"use strict";var r=n(25),o=n(9),i=n(53),a=n(101),s=n(103),c=n(31),l=TypeError,u=c("toPrimitive");e.exports=function(e,t){if(!o(e)||i(e))return e;var n,c=a(e,u);if(c){if(void 0===t&&(t="default"),n=r(c,e,t),!o(n)||i(n))return n;throw l("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},function(e,t,n){"use strict";e.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},function(e,t,n){"use strict";var r=n(30),o=n(50);e.exports=function(e,t){var n=e[t];return o(n)?void 0:r(n)}},function(e,t,n){"use strict";var r=String;e.exports=function(e){try{return r(e)}catch(e){return"Object"}}},function(e,t,n){"use strict";var r=n(25),o=n(0),i=n(9),a=TypeError;e.exports=function(e,t){var n,s;if("string"===t&&o(n=e.toString)&&!i(s=r(n,e)))return s;if(o(n=e.valueOf)&&!i(s=r(n,e)))return s;if("string"!==t&&o(n=e.toString)&&!i(s=r(n,e)))return s;throw a("Can't convert object to primitive value")}},function(e,t,n){"use strict";var r=n(1),o=n(9),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){"use strict";var r=n(5),o=n(2);e.exports=r&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},function(e,t,n){"use strict";var r=n(0),o=n(16),i=n(107),a=n(33);e.exports=function(e,t,n,s){s||(s={});var c=s.enumerable,l=void 0!==s.name?s.name:t;if(r(n)&&i(n,l,s),s.global)c?e[t]=n:a(t,n);else{try{s.unsafe?e[t]&&(c=!0):delete e[t]}catch(e){}c?e[t]=n:o.f(e,t,{value:n,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}},function(e,t,n){"use strict";var r=n(3),o=n(2),i=n(0),a=n(8),s=n(5),c=n(108).CONFIGURABLE,l=n(109),u=n(110),d=u.enforce,f=u.get,p=String,h=Object.defineProperty,v=r("".slice),m=r("".replace),g=r([].join),y=s&&!o((function(){return 8!==h((function(){}),"length",{value:8}).length})),b=String(String).split("String"),w=e.exports=function(e,t,n){"Symbol("===v(p(t),0,7)&&(t="["+m(p(t),/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!a(e,"name")||c&&e.name!==t)&&(s?h(e,"name",{value:t,configurable:!0}):e.name=t),y&&n&&a(n,"arity")&&e.length!==n.arity&&h(e,"length",{value:n.arity});try{n&&a(n,"constructor")&&n.constructor?s&&h(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var r=d(e);return a(r,"source")||(r.source=g(b,"string"==typeof t?t:"")),e};Function.prototype.toString=w((function(){return i(this)&&f(this).source||l(this)}),"toString")},function(e,t,n){"use strict";var r=n(5),o=n(8),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,s=o(i,"name"),c=s&&"something"===function(){}.name,l=s&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:s,PROPER:c,CONFIGURABLE:l}},function(e,t,n){"use strict";var r=n(3),o=n(0),i=n(32),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},function(e,t,n){"use strict";var r,o,i,a=n(111),s=n(1),c=n(9),l=n(13),u=n(8),d=n(32),f=n(112),p=n(62),h=s.TypeError,v=s.WeakMap;if(a||d.state){var m=d.state||(d.state=new v);m.get=m.get,m.has=m.has,m.set=m.set,r=function(e,t){if(m.has(e))throw h("Object already initialized");return t.facade=e,m.set(e,t),t},o=function(e){return m.get(e)||{}},i=function(e){return m.has(e)}}else{var g=f("state");p[g]=!0,r=function(e,t){if(u(e,g))throw h("Object already initialized");return t.facade=e,l(e,g,t),t},o=function(e){return u(e,g)?e[g]:{}},i=function(e){return u(e,g)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!c(t)||(n=o(t)).type!==e)throw h("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var r=n(1),o=n(0),i=r.WeakMap;e.exports=o(i)&&/native code/.test(String(i))},function(e,t,n){"use strict";var r=n(58),o=n(60),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t,n){"use strict";var r=n(29),o=n(3),i=n(114),a=n(121),s=n(35),c=o([].concat);e.exports=r("Reflect","ownKeys")||function(e){var t=i.f(s(e)),n=a.f;return n?c(t,n(e)):t}},function(e,t,n){"use strict";var r=n(115),o=n(120).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){"use strict";var r=n(3),o=n(8),i=n(28),a=n(116).indexOf,s=n(62),c=r([].push);e.exports=function(e,t){var n,r=i(e),l=0,u=[];for(n in r)!o(s,n)&&o(r,n)&&c(u,n);for(;t.length>l;)o(r,n=t[l++])&&(~a(u,n)||c(u,n));return u}},function(e,t,n){"use strict";var r=n(28),o=n(117),i=n(36),a=function(e){return function(t,n,a){var s,c=r(t),l=i(c),u=o(a,l);if(e&&n!=n){for(;l>u;)if((s=c[u++])!=s)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},function(e,t,n){"use strict";var r=n(64),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},function(e,t,n){"use strict";var r=Math.ceil,o=Math.floor;e.exports=Math.trunc||function(e){var t=+e;return(t>0?o:r)(t)}},function(e,t,n){"use strict";var r=n(64),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var r=n(2),o=n(0),i=/#|\.prototype\./,a=function(e,t){var n=c[s(e)];return n==u||n!=l&&(o(t)?r(t):!!t)},s=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var r=n(30),o=n(34),i=n(48),a=n(36),s=TypeError,c=function(e){return function(t,n,c,l){r(n);var u=o(t),d=i(u),f=a(u),p=e?f-1:0,h=e?-1:1;if(c<2)for(;;){if(p in d){l=d[p],p+=h;break}if(p+=h,e?p<0:f<=p)throw s("Reduce of empty array with no initial value")}for(;e?p>=0:f>p;p+=h)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){return 1},1)}))}},function(e,t,n){"use strict";var r=n(15);e.exports="undefined"!=typeof process&&"process"==r(process)},function(e,t,n){"use strict";var r=n(5),o=n(127),i=TypeError,a=Object.getOwnPropertyDescriptor,s=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=s?function(e,t){if(o(e)&&!a(e,"length").writable)throw i("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},function(e,t,n){"use strict";var r=n(15);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){"use strict";var r=TypeError;e.exports=function(e){if(e>9007199254740991)throw r("Maximum allowed index exceeded");return e}},function(e,t,n){"use strict";var r=n(24),o=n(1),i=n(130),a=n(131),s=o.WebAssembly,c=7!==Error("e",{cause:7}).cause,l=function(e,t){var n={};n[e]=a(e,t,c),r({global:!0,constructor:!0,arity:1,forced:c},n)},u=function(e,t){if(s&&s[e]){var n={};n[e]=a("WebAssembly."+e,t,c),r({target:"WebAssembly",stat:!0,constructor:!0,arity:1,forced:c},n)}};l("Error",(function(e){return function(t){return i(e,this,arguments)}})),l("EvalError",(function(e){return function(t){return i(e,this,arguments)}})),l("RangeError",(function(e){return function(t){return i(e,this,arguments)}})),l("ReferenceError",(function(e){return function(t){return i(e,this,arguments)}})),l("SyntaxError",(function(e){return function(t){return i(e,this,arguments)}})),l("TypeError",(function(e){return function(t){return i(e,this,arguments)}})),l("URIError",(function(e){return function(t){return i(e,this,arguments)}})),u("CompileError",(function(e){return function(t){return i(e,this,arguments)}})),u("LinkError",(function(e){return function(t){return i(e,this,arguments)}})),u("RuntimeError",(function(e){return function(t){return i(e,this,arguments)}}))},function(e,t,n){"use strict";var r=n(26),o=Function.prototype,i=o.apply,a=o.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?a.bind(i):function(){return a.apply(i,arguments)})},function(e,t,n){"use strict";var r=n(29),o=n(8),i=n(13),a=n(54),s=n(65),c=n(63),l=n(134),u=n(135),d=n(136),f=n(140),p=n(141),h=n(5),v=n(59);e.exports=function(e,t,n,m){var g=m?2:1,y=e.split("."),b=y[y.length-1],w=r.apply(null,y);if(w){var _=w.prototype;if(!v&&o(_,"cause")&&delete _.cause,!n)return w;var S=r("Error"),O=t((function(e,t){var n=d(m?t:e,void 0),r=m?new w(e):new w;return void 0!==n&&i(r,"message",n),p(r,O,r.stack,2),this&&a(_,this)&&u(r,this,O),arguments.length>g&&f(r,arguments[g]),r}));if(O.prototype=_,"Error"!==b?s?s(O,S):c(O,S,{name:!0}):h&&"stackTraceLimit"in w&&(l(O,w,"stackTraceLimit"),l(O,w,"prepareStackTrace")),c(O,w),!v)try{_.name!==b&&i(_,"name",b),_.constructor=O}catch(e){}return O}}},function(e,t,n){"use strict";var r=n(3),o=n(30);e.exports=function(e,t,n){try{return r(o(Object.getOwnPropertyDescriptor(e,t)[n]))}catch(e){}}},function(e,t,n){"use strict";var r=n(0),o=String,i=TypeError;e.exports=function(e){if("object"==typeof e||r(e))return e;throw i("Can't set "+o(e)+" as a prototype")}},function(e,t,n){"use strict";var r=n(16).f;e.exports=function(e,t,n){n in e||r(e,n,{configurable:!0,get:function(){return t[n]},set:function(e){t[n]=e}})}},function(e,t,n){"use strict";var r=n(0),o=n(9),i=n(65);e.exports=function(e,t,n){var a,s;return i&&r(a=t.constructor)&&a!==n&&o(s=a.prototype)&&s!==n.prototype&&i(e,s),e}},function(e,t,n){"use strict";var r=n(137);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:r(e)}},function(e,t,n){"use strict";var r=n(138),o=String;e.exports=function(e){if("Symbol"===r(e))throw TypeError("Cannot convert a Symbol value to a string");return o(e)}},function(e,t,n){"use strict";var r=n(139),o=n(0),i=n(15),a=n(31)("toStringTag"),s=Object,c="Arguments"==i(function(){return arguments}());e.exports=r?i:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=s(e),a))?n:c?i(t):"Object"==(r=i(t))&&o(t.callee)?"Arguments":r}},function(e,t,n){"use strict";var r={};r[n(31)("toStringTag")]="z",e.exports="[object z]"===String(r)},function(e,t,n){"use strict";var r=n(9),o=n(13);e.exports=function(e,t){r(t)&&"cause"in t&&o(e,"cause",t.cause)}},function(e,t,n){"use strict";var r=n(13),o=n(142),i=n(143),a=Error.captureStackTrace;e.exports=function(e,t,n,s){i&&(a?a(e,t):r(e,"stack",o(n,s)))}},function(e,t,n){"use strict";var r=n(3),o=Error,i=r("".replace),a=String(o("zxcasd").stack),s=/\n\s*at [^:]*:[^\n]*/,c=s.test(a);e.exports=function(e,t){if(c&&"string"==typeof e&&!o.prepareStackTrace)for(;t--;)e=i(e,s,"");return e}},function(e,t,n){"use strict";var r=n(2),o=n(27);e.exports=!r((function(){var e=Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",o(1,7)),7!==e.stack)}))},function(e,t,n){var r=n(66),o=n(145);e.exports=function e(t,n,i,a,s){var c=-1,l=t.length;for(i||(i=o),s||(s=[]);++c0&&i(u)?n>1?e(u,n-1,i,a,s):r(s,u):a||(s[s.length]=u)}return s}},function(e,t,n){var r=n(14),o=n(37),i=n(4),a=r?r.isConcatSpreadable:void 0;e.exports=function(e){return i(e)||o(e)||!!(a&&e&&e[a])}},function(e,t,n){var r=n(12),o=n(11);e.exports=function(e){return o(e)&&"[object Arguments]"==r(e)}},function(e,t,n){var r=n(14),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=i.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var o=a.call(e);return r&&(t?e[s]=n:delete e[s]),o}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r=n(150),o=n(206),i=n(45),a=n(4),s=n(217);e.exports=function(e){return"function"==typeof e?e:null==e?i:"object"==typeof e?a(e)?o(e[0],e[1]):r(e):s(e)}},function(e,t,n){var r=n(151),o=n(205),i=n(83);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?i(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){var r=n(68),o=n(72);e.exports=function(e,t,n,i){var a=n.length,s=a,c=!i;if(null==e)return!s;for(e=Object(e);a--;){var l=n[a];if(c&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++a-1}},function(e,t,n){var r=n(18);e.exports=function(e,t){var n=this.__data__,o=r(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}},function(e,t,n){var r=n(17);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(17),o=n(38),i=n(40);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(70),o=n(163),i=n(39),a=n(71),s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,f=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||o(e))&&(r(e)?f:s).test(a(e))}},function(e,t,n){var r,o=n(164),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!i&&i in e}},function(e,t,n){var r=n(6)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){var r=n(167),o=n(17),i=n(38);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},function(e,t,n){var r=n(168),o=n(169),i=n(170),a=n(171),s=n(172);function c(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(74),o=n(229),i=n(234),a=n(75),s=n(235),c=n(41);e.exports=function(e,t,n){var l=-1,u=o,d=e.length,f=!0,p=[],h=p;if(n)f=!1,u=i;else if(d>=200){var v=t?null:s(e);if(v)return c(v);f=!1,u=a,h=new r}else h=t?[]:p;e:for(;++l-1}},function(e,t,n){var r=n(231),o=n(232),i=n(233);e.exports=function(e,t,n){return t==t?i(e,t,n):r(e,o,n)}},function(e,t){e.exports=function(e,t,n,r){for(var o=e.length,i=n+(r?1:-1);r?i--:++i=0&&Math.floor(t)===t&&isFinite(e)}function v(e){return a(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function m(e){return null==e?"":Array.isArray(e)||f(e)&&e.toString===d?JSON.stringify(e,null,2):String(e)}function g(e){var t=parseFloat(e);return isNaN(t)?e:t}function y(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o-1)return e.splice(r,1)}}var _=Object.prototype.hasOwnProperty;function S(e,t){return _.call(e,t)}function O(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var x=/-(\w)/g,k=O((function(e){return e.replace(x,(function(e,t){return t?t.toUpperCase():""}))})),A=O((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),P=/\B([A-Z])/g,T=O((function(e){return e.replace(P,"-$1").toLowerCase()}));var C=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function L(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function j(e,t){for(var n in t)e[n]=t[n];return e}function E(e){for(var t={},n=0;n0,Z=K&&K.indexOf("edge/")>0;K&&K.indexOf("android");var Q=K&&/iphone|ipad|ipod|ios/.test(K);K&&/chrome\/\d+/.test(K),K&&/phantomjs/.test(K);var ee,te=K&&K.match(/firefox\/(\d+)/),ne={}.watch,re=!1;if(W)try{var oe={};Object.defineProperty(oe,"passive",{get:function(){re=!0}}),window.addEventListener("test-passive",null,oe)}catch(e){}var ie=function(){return void 0===ee&&(ee=!W&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),ee},ae=W&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function se(e){return"function"==typeof e&&/native code/.test(e.toString())}var ce,le="undefined"!=typeof Symbol&&se(Symbol)&&"undefined"!=typeof Reflect&&se(Reflect.ownKeys);ce="undefined"!=typeof Set&&se(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue=null;function de(e){void 0===e&&(e=null),e||ue&&ue._scope.off(),ue=e,e&&e._scope.on()}var fe=function(){function e(e,t,n,r,o,i,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(e.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),e}(),pe=function(e){void 0===e&&(e="");var t=new fe;return t.text=e,t.isComment=!0,t};function he(e){return new fe(void 0,void 0,void 0,String(e))}function ve(e){var t=new fe(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var me=0,ge=[],ye=function(){function e(){this._pending=!1,this.id=me++,this.subs=[]}return e.prototype.addSub=function(e){this.subs.push(e)},e.prototype.removeSub=function(e){this.subs[this.subs.indexOf(e)]=null,this._pending||(this._pending=!0,ge.push(this))},e.prototype.depend=function(t){e.target&&e.target.addDep(this)},e.prototype.notify=function(e){var t=this.subs.filter((function(e){return e}));for(var n=0,r=t.length;n0&&(Ke((l=e(l,"".concat(n||"","_").concat(r)))[0])&&Ke(d)&&(f[u]=he(d.text+l[0].text),l.shift()),f.push.apply(f,l)):c(l)?Ke(d)?f[u]=he(d.text+l):""!==l&&f.push(he(l)):Ke(l)&&Ke(d)?f[u]=he(d.text+l.text):(s(t._isVList)&&a(l.tag)&&i(l.key)&&a(n)&&(l.key="__vlist".concat(n,"_").concat(r,"__")),f.push(l)));return f}(e):void 0}function Ke(e){return a(e)&&a(e.text)&&!1===e.isComment}function Xe(e,t){var n,r,i,s,c=null;if(o(e)||"string"==typeof e)for(c=new Array(e.length),n=0,r=e.length;n0,s=t?!!t.$stable:!a,c=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(s&&o&&o!==r&&c===o.$key&&!a&&!o.$hasNormal)return o;for(var l in i={},t)t[l]&&"$"!==l[0]&&(i[l]=vt(e,n,l,t[l]))}else i={};for(var u in n)u in i||(i[u]=mt(n,u));return t&&Object.isExtensible(t)&&(t._normalized=i),H(i,"$stable",s),H(i,"$key",c),H(i,"$hasNormal",a),i}function vt(e,t,n,r){var i=function(){var t=ue;de(e);var n=arguments.length?r.apply(null,arguments):r({}),i=(n=n&&"object"==typeof n&&!o(n)?[n]:We(n))&&n[0];return de(t),n&&(!i||1===n.length&&i.isComment&&!pt(i))?void 0:n};return r.proxy&&Object.defineProperty(t,n,{get:i,enumerable:!0,configurable:!0}),i}function mt(e,t){return function(){return e[t]}}function gt(e){return{get attrs(){if(!e._attrsProxy){var t=e._attrsProxy={};H(t,"_v_attr_proxy",!0),yt(t,e.$attrs,r,e,"$attrs")}return e._attrsProxy},get listeners(){e._listenersProxy||yt(e._listenersProxy={},e.$listeners,r,e,"$listeners");return e._listenersProxy},get slots(){return function(e){e._slotsProxy||wt(e._slotsProxy={},e.$scopedSlots);return e._slotsProxy}(e)},emit:C(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return Ue(e,t,n)}))}}}function yt(e,t,n,r,o){var i=!1;for(var a in t)a in e?t[a]!==n[a]&&(i=!0):(i=!0,bt(e,a,r,o));for(var a in e)a in t||(i=!0,delete e[a]);return i}function bt(e,t,n,r){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){return n[r][t]}})}function wt(e,t){for(var n in t)e[n]=t[n];for(var n in e)n in t||delete e[n]}var _t=null;function St(e,t){return(e.__esModule||le&&"Module"===e[Symbol.toStringTag])&&(e=e.default),u(e)?t.extend(e):e}function Ot(e){if(o(e))for(var t=0;tdocument.createEvent("Event").timeStamp&&(cn=function(){return ln.now()})}var un=function(e,t){if(e.post){if(!t.post)return 1}else if(t.post)return-1;return e.id-t.id};function dn(){var e,t;for(sn=cn(),on=!0,en.sort(un),an=0;anan&&en[n].id>e.id;)n--;en.splice(n+1,0,e)}else en.push(e);rn||(rn=!0,Dt(dn))}}function pn(e,t){if(e){for(var n=Object.create(null),r=le?Reflect.ownKeys(e):Object.keys(e),o=0;o-1)if(i&&!S(o,"default"))a=!1;else if(""===a||a===T(e)){var c=Rn(String,o.type);(c<0||s-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!p(e)&&e.test(t)}function Xn(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var s=a.name;s&&!t(s)&&Yn(n,i,r,o)}}}function Yn(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,w(n,t)}Vn.prototype._init=function(e){var t=this;t._uid=Jn++,t._isVue=!0,t.__v_skip=!0,t._scope=new ze(!0),t._scope._vm=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=Cn(Hn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._provided=n?n._provided:Object.create(null),e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Wt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,o=n&&n.context;e.$slots=dt(t._renderChildren,o),e.$scopedSlots=n?ht(e.$parent,n.data.scopedSlots,e.$slots):r,e._c=function(t,n,r,o){return xt(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return xt(e,t,n,r,o,!0)};var i=n&&n.data;je(e,"$attrs",i&&i.attrs||r,null,!0),je(e,"$listeners",t._parentListeners||r,null,!0)}(t),Qt(t,"beforeCreate",void 0,!1),function(e){var t=pn(e.$options.inject,e);t&&(Pe(!1),Object.keys(t).forEach((function(n){je(e,n,t[n])})),Pe(!0))}(t),Dn(t),function(e){var t=e.$options.provide;if(t){var n=l(t)?t.call(e):t;if(!u(n))return;for(var r=Be(e),o=le?Reflect.ownKeys(n):Object.keys(n),i=0;i1?L(n):n;for(var r=L(arguments,1),o='event handler for "'.concat(e,'"'),i=0,a=n.length;iparseInt(this.max)&&Yn(e,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Yn(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(t){Xn(e,(function(e){return Kn(t,e)}))})),this.$watch("exclude",(function(t){Xn(e,(function(e){return!Kn(t,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,t=Ot(e),n=t&&t.componentOptions;if(n){var r=Wn(n),o=this.include,i=this.exclude;if(o&&(!r||!Kn(o,r))||i&&r&&Kn(i,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,w(s,c),s.push(c)):(this.vnodeToCache=t,this.keyToCache=c),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return B}};Object.defineProperty(e,"config",t),e.util={warn:Sn,extend:j,mergeOptions:Cn,defineReactive:je},e.set=Ee,e.delete=Me,e.nextTick=Dt,e.observable=function(e){return Le(e),e},e.options=Object.create(null),F.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,j(e.options.components,Qn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=L(arguments,1);return n.unshift(this),l(e.install)?e.install.apply(e,n):l(e)&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Cn(this.options,e),this}}(e),qn(e),function(e){F.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&f(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&l(n)&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(Vn),Object.defineProperty(Vn.prototype,"$isServer",{get:ie}),Object.defineProperty(Vn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vn,"FunctionalRenderContext",{value:hn}),Vn.version="2.7.14";var er=y("style,class"),tr=y("input,textarea,option,select,progress"),nr=y("contenteditable,draggable,spellcheck"),rr=y("events,caret,typing,plaintext-only"),or=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),ir="http://www.w3.org/1999/xlink",ar=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},sr=function(e){return ar(e)?e.slice(6,e.length):""},cr=function(e){return null==e||!1===e};function lr(e){for(var t=e.data,n=e,r=e;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=ur(r.data,t));for(;a(n=n.parent);)n&&n.data&&(t=ur(t,n.data));return function(e,t){if(a(e)||a(t))return dr(e,fr(t));return""}(t.staticClass,t.class)}function ur(e,t){return{staticClass:dr(e.staticClass,t.staticClass),class:a(e.class)?[e.class,t.class]:t.class}}function dr(e,t){return e?t?e+" "+t:e:t||""}function fr(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,o=e.length;r-1?$r(e,t,n):or(t)?cr(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):nr(t)?e.setAttribute(t,function(e,t){return cr(t)||"false"===t?"false":"contenteditable"===e&&rr(t)?t:"true"}(t,n)):ar(t)?cr(n)?e.removeAttributeNS(ir,sr(t)):e.setAttributeNS(ir,t,n):$r(e,t,n)}function $r(e,t,n){if(cr(n))e.removeAttribute(t);else{if(X&&!Y&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var Nr={create:Ir,update:Ir};function Dr(e,t){var n=t.elm,r=t.data,o=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=lr(t),c=n._transitionClasses;a(c)&&(s=dr(s,fr(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Ur,Fr={create:Dr,update:Dr};function zr(e,t,n){var r=Ur;return function o(){var i=t.apply(null,arguments);null!==i&&Jr(e,o,n,r)}}var Br=Lt&&!(te&&Number(te[1])<=53);function Gr(e,t,n,r){if(Br){var o=sn,i=t;t=i._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=o||e.timeStamp<=0||e.target.ownerDocument!==document)return i.apply(this,arguments)}}Ur.addEventListener(e,t,re?{capture:n,passive:r}:n)}function Jr(e,t,n,r){(r||Ur).removeEventListener(e,t._wrapper||t,n)}function Hr(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Ur=t.elm||e.elm,function(e){if(a(e.__r)){var t=X?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}a(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),He(n,r,Gr,Jr,zr,t.context),Ur=void 0}}var Vr,qr={create:Hr,update:Hr,destroy:function(e){return Hr(e,Or)}};function Wr(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,o=t.elm,c=e.data.domProps||{},l=t.data.domProps||{};for(n in(a(l.__ob__)||s(l._v_attr_proxy))&&(l=t.data.domProps=j({},l)),c)n in l||(o[n]="");for(n in l){if(r=l[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===c[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var u=i(r)?"":String(r);Kr(o,u)&&(o.value=u)}else if("innerHTML"===n&&vr(o.tagName)&&i(o.innerHTML)){(Vr=Vr||document.createElement("div")).innerHTML="".concat(r,"");for(var d=Vr.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;d.firstChild;)o.appendChild(d.firstChild)}else if(r!==c[n])try{o[n]=r}catch(e){}}}}function Kr(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(a(r)){if(r.number)return g(n)!==g(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var Xr={create:Wr,update:Wr},Yr=O((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function Zr(e){var t=Qr(e.style);return e.staticStyle?j(e.staticStyle,t):t}function Qr(e){return Array.isArray(e)?E(e):"string"==typeof e?Yr(e):e}var eo,to=/^--/,no=/\s*!important$/,ro=function(e,t,n){if(to.test(t))e.style.setProperty(t,n);else if(no.test(n))e.style.setProperty(T(t),n.replace(no,""),"important");else{var r=io(t);if(Array.isArray(n))for(var o=0,i=n.length;o-1?t.split(co).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" ".concat(e.getAttribute("class")||""," ");n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function uo(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(co).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" ".concat(e.getAttribute("class")||""," "),r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function fo(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&j(t,po(e.name||"v")),j(t,e),t}return"string"==typeof e?po(e):void 0}}var po=O((function(e){return{enterClass:"".concat(e,"-enter"),enterToClass:"".concat(e,"-enter-to"),enterActiveClass:"".concat(e,"-enter-active"),leaveClass:"".concat(e,"-leave"),leaveToClass:"".concat(e,"-leave-to"),leaveActiveClass:"".concat(e,"-leave-active")}})),ho=W&&!Y,vo="transition",mo="transitionend",go="animation",yo="animationend";ho&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(vo="WebkitTransition",mo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(go="WebkitAnimation",yo="webkitAnimationEnd"));var bo=W?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function wo(e){bo((function(){bo(e)}))}function _o(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),lo(e,t))}function So(e,t){e._transitionClasses&&w(e._transitionClasses,t),uo(e,t)}function Oo(e,t,n){var r=ko(e,t),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s="transition"===o?mo:yo,c=0,l=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++c>=a&&l()};setTimeout((function(){c0&&(n="transition",u=a,d=i.length):"animation"===t?l>0&&(n="animation",u=l,d=c.length):d=(n=(u=Math.max(a,l))>0?a>l?"transition":"animation":null)?"transition"===n?i.length:c.length:0,{type:n,timeout:u,propCount:d,hasTransform:"transition"===n&&xo.test(r[vo+"Property"])}}function Ao(e,t){for(;e.length1}function Eo(e,t){!0!==t.data.show&&To(t)}var Mo=function(e){var t,n,r={},l=e.modules,u=e.nodeOps;for(t=0;th?w(e,i(n[g+1])?null:n[g+1].elm,n,p,g,r):p>g&&S(t,d,h)}(d,v,g,n,l):a(g)?(a(e.text)&&u.setTextContent(d,""),w(d,null,g,0,g.length-1,n)):a(v)?S(v,0,v.length-1):a(e.text)&&u.setTextContent(d,""):e.text!==t.text&&u.setTextContent(d,t.text),a(h)&&a(p=h.hook)&&a(p=p.postpatch)&&p(e,t)}}}function A(e,t,n){if(s(n)&&a(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if($(Do(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));o||(e.selectedIndex=-1)}}function No(e,t){return t.every((function(t){return!$(t,e)}))}function Do(e){return"_value"in e?e._value:e.value}function Uo(e){e.target.composing=!0}function Fo(e){e.target.composing&&(e.target.composing=!1,zo(e.target,"input"))}function zo(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Bo(e){return!e.componentInstance||e.data&&e.data.transition?e:Bo(e.componentInstance._vnode)}var Go={model:Io,show:{bind:function(e,t,n){var r=t.value,o=(n=Bo(n)).data&&n.data.transition,i=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&o?(n.data.show=!0,To(n,(function(){e.style.display=i}))):e.style.display=r?i:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Bo(n)).data&&n.data.transition?(n.data.show=!0,r?To(n,(function(){e.style.display=e.__vOriginalDisplay})):Co(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,o){o||(e.style.display=e.__vOriginalDisplay)}}},Jo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Ho(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Ho(Ot(t.children)):e}function Vo(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var o=n._parentListeners;for(var r in o)t[k(r)]=o[r];return t}function qo(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Wo=function(e){return e.tag||pt(e)},Ko=function(e){return"show"===e.name},Xo={name:"transition",props:Jo,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(Wo)).length){0;var r=this.mode;0;var o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var i=Ho(o);if(!i)return o;if(this._leaving)return qo(e,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:c(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=Vo(this),l=this._vnode,u=Ho(l);if(i.data.directives&&i.data.directives.some(Ko)&&(i.data.show=!0),u&&u.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(i,u)&&!pt(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var d=u.data.transition=j({},s);if("out-in"===r)return this._leaving=!0,Ve(d,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),qo(e,o);if("in-out"===r){if(pt(i))return l;var f,p=function(){f()};Ve(s,"afterEnter",p),Ve(s,"enterCancelled",p),Ve(d,"delayLeave",(function(e){f=e}))}}return o}}},Yo=j({tag:String,moveClass:String},Jo);function Zo(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Qo(e){e.data.newPos=e.elm.getBoundingClientRect()}function ei(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,o=t.top-n.top;if(r||o){e.data.moved=!0;var i=e.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}delete Yo.mode;var ti={Transition:Xo,TransitionGroup:{props:Yo,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var o=Xt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,o(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Vo(this),s=0;s-1?gr[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:gr[e]=/HTMLUnknownElement/.test(t.toString())},j(Vn.options.directives,Go),j(Vn.options.components,ti),Vn.prototype.__patch__=W?Mo:M,Vn.prototype.$mount=function(e,t){return function(e,t,n){var r;e.$el=t,e.$options.render||(e.$options.render=pe),Qt(e,"beforeMount"),r=function(){e._update(e._render(),n)},new Jt(e,r,M,{before:function(){e._isMounted&&!e._isDestroyed&&Qt(e,"beforeUpdate")}},!0),n=!1;var o=e._preWatchers;if(o)for(var i=0;i=0&&(t=e.slice(r),e=e.slice(0,r));var o=e.indexOf("?");return o>=0&&(n=e.slice(o+1),e=e.slice(0,o)),{path:e,query:n,hash:t}}(o.path||""),l=t&&t.path||"/",u=c.path?Si(c.path,l,n||o.append):l,d=function(e,t,n){void 0===t&&(t={});var r,o=n||li;try{r=o(e||"")}catch(e){r={}}for(var i in t){var a=t[i];r[i]=Array.isArray(a)?a.map(ci):ci(a)}return r}(c.query,o.query,r&&r.options.parseQuery),f=o.hash||c.hash;return f&&"#"!==f.charAt(0)&&(f="#"+f),{_normalized:!0,path:u,query:d,hash:f}}var Gi,Ji=function(){},Hi={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(e){var t=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,s=o.href,c={},l=n.options.linkActiveClass,u=n.options.linkExactActiveClass,d=null==l?"router-link-active":l,f=null==u?"router-link-exact-active":u,p=null==this.activeClass?d:this.activeClass,h=null==this.exactActiveClass?f:this.exactActiveClass,v=a.redirectedFrom?fi(null,Bi(a.redirectedFrom),null,n):a;c[h]=gi(r,v,this.exactPath),c[p]=this.exact||this.exactPath?c[h]:function(e,t){return 0===e.path.replace(di,"/").indexOf(t.path.replace(di,"/"))&&(!t.hash||e.hash===t.hash)&&function(e,t){for(var n in t)if(!(n in e))return!1;return!0}(e.query,t.query)}(r,v);var m=c[h]?this.ariaCurrentValue:null,g=function(e){Vi(e)&&(t.replace?n.replace(i,Ji):n.push(i,Ji))},y={click:Vi};Array.isArray(this.event)?this.event.forEach((function(e){y[e]=g})):y[this.event]=g;var b={class:c},w=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:s,route:a,navigate:g,isActive:c[p],isExactActive:c[h]});if(w){if(1===w.length)return w[0];if(w.length>1||!w.length)return 0===w.length?e():e("span",{},w)}if("a"===this.tag)b.on=y,b.attrs={href:s,"aria-current":m};else{var _=function e(t){var n;if(t)for(var r=0;r-1&&(s.params[f]=n.params[f]);return s.path=zi(u.path,s.params),c(u,s,a)}if(s.path){s.params={};for(var p=0;p-1}function Oa(e,t){return Sa(e)&&e._isRouter&&(null==t||e.type===t)}function xa(e,t,n){var r=function(o){o>=e.length?n():e[o]?t(e[o],(function(){r(o+1)})):r(o+1)};r(0)}function ka(e){return function(t,n,r){var o=!1,i=0,a=null;Aa(e,(function(e,t,n,s){if("function"==typeof e&&void 0===e.cid){o=!0,i++;var c,l=Ca((function(t){var o;((o=t).__esModule||Ta&&"Module"===o[Symbol.toStringTag])&&(t=t.default),e.resolved="function"==typeof t?t:Gi.extend(t),n.components[s]=t,--i<=0&&r()})),u=Ca((function(e){var t="Failed to resolve async component "+s+": "+e;a||(a=Sa(e)?e:new Error(t),r(a))}));try{c=e(l,u)}catch(e){u(e)}if(c)if("function"==typeof c.then)c.then(l,u);else{var d=c.component;d&&"function"==typeof d.then&&d.then(l,u)}}})),o||r()}}function Aa(e,t){return Pa(e.map((function(e){return Object.keys(e.components).map((function(n){return t(e.components[n],e.instances[n],e,n)}))})))}function Pa(e){return Array.prototype.concat.apply([],e)}var Ta="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Ca(e){var t=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!t)return t=!0,e.apply(this,n)}}var La=function(e,t){this.router=e,this.base=function(e){if(!e)if(qi){var t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else e="/";"/"!==e.charAt(0)&&(e="/"+e);return e.replace(/\/$/,"")}(t),this.current=hi,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function ja(e,t,n,r){var o=Aa(e,(function(e,r,o,i){var a=function(e,t){"function"!=typeof e&&(e=Gi.extend(e));return e.options[t]}(e,t);if(a)return Array.isArray(a)?a.map((function(e){return n(e,r,o,i)})):n(a,r,o,i)}));return Pa(r?o.reverse():o)}function Ea(e,t){if(t)return function(){return e.apply(t,arguments)}}La.prototype.listen=function(e){this.cb=e},La.prototype.onReady=function(e,t){this.ready?e():(this.readyCbs.push(e),t&&this.readyErrorCbs.push(t))},La.prototype.onError=function(e){this.errorCbs.push(e)},La.prototype.transitionTo=function(e,t,n){var r,o=this;try{r=this.router.match(e,this.current)}catch(e){throw this.errorCbs.forEach((function(t){t(e)})),e}var i=this.current;this.confirmTransition(r,(function(){o.updateRoute(r),t&&t(r),o.ensureURL(),o.router.afterHooks.forEach((function(e){e&&e(r,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(e){e(r)})))}),(function(e){n&&n(e),e&&!o.ready&&(Oa(e,ga.redirected)&&i===hi||(o.ready=!0,o.readyErrorCbs.forEach((function(t){t(e)}))))}))},La.prototype.confirmTransition=function(e,t,n){var r=this,o=this.current;this.pending=e;var i,a,s=function(e){!Oa(e)&&Sa(e)&&(r.errorCbs.length?r.errorCbs.forEach((function(t){t(e)})):console.error(e)),n&&n(e)},c=e.matched.length-1,l=o.matched.length-1;if(gi(e,o)&&c===l&&e.matched[c]===o.matched[l])return this.ensureURL(),e.hash&&ia(this.router,o,e,!1),s(((a=wa(i=o,e,ga.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var u=function(e,t){var n,r=Math.max(e.length,t.length);for(n=0;n0)){var t=this.router,n=t.options.scrollBehavior,r=ha&&n;r&&this.listeners.push(oa());var o=function(){var n=e.current,o=Ia(e.base);e.current===hi&&o===e._startLocation||e.transitionTo(o,(function(e){r&&ia(t,e,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},t.prototype.go=function(e){window.history.go(e)},t.prototype.push=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){va(Oi(r.base+e.fullPath)),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){ma(Oi(r.base+e.fullPath)),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.ensureURL=function(e){if(Ia(this.base)!==this.current.fullPath){var t=Oi(this.base+this.current.fullPath);e?va(t):ma(t)}},t.prototype.getCurrentLocation=function(){return Ia(this.base)},t}(La);function Ia(e){var t=window.location.pathname,n=t.toLowerCase(),r=e.toLowerCase();return!e||n!==r&&0!==n.indexOf(Oi(r+"/"))||(t=t.slice(e.length)),(t||"/")+window.location.search+window.location.hash}var Ra=function(e){function t(t,n,r){e.call(this,t,n),r&&function(e){var t=Ia(e);if(!/^\/#/.test(t))return window.location.replace(Oi(e+"/#"+t)),!0}(this.base)||$a()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.setupListeners=function(){var e=this;if(!(this.listeners.length>0)){var t=this.router.options.scrollBehavior,n=ha&&t;n&&this.listeners.push(oa());var r=function(){var t=e.current;$a()&&e.transitionTo(Na(),(function(r){n&&ia(e.router,r,t,!0),ha||Fa(r.fullPath)}))},o=ha?"popstate":"hashchange";window.addEventListener(o,r),this.listeners.push((function(){window.removeEventListener(o,r)}))}},t.prototype.push=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){Ua(e.fullPath),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this,o=this.current;this.transitionTo(e,(function(e){Fa(e.fullPath),ia(r.router,e,o,!1),t&&t(e)}),n)},t.prototype.go=function(e){window.history.go(e)},t.prototype.ensureURL=function(e){var t=this.current.fullPath;Na()!==t&&(e?Ua(t):Fa(t))},t.prototype.getCurrentLocation=function(){return Na()},t}(La);function $a(){var e=Na();return"/"===e.charAt(0)||(Fa("/"+e),!1)}function Na(){var e=window.location.href,t=e.indexOf("#");return t<0?"":e=e.slice(t+1)}function Da(e){var t=window.location.href,n=t.indexOf("#");return(n>=0?t.slice(0,n):t)+"#"+e}function Ua(e){ha?va(Da(e)):window.location.hash=e}function Fa(e){ha?ma(Da(e)):window.location.replace(Da(e))}var za=function(e){function t(t,n){e.call(this,t,n),this.stack=[],this.index=-1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.push=function(e,t,n){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index+1).concat(e),r.index++,t&&t(e)}),n)},t.prototype.replace=function(e,t,n){var r=this;this.transitionTo(e,(function(e){r.stack=r.stack.slice(0,r.index).concat(e),t&&t(e)}),n)},t.prototype.go=function(e){var t=this,n=this.index+e;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var e=t.current;t.index=n,t.updateRoute(r),t.router.afterHooks.forEach((function(t){t&&t(r,e)}))}),(function(e){Oa(e,ga.duplicated)&&(t.index=n)}))}},t.prototype.getCurrentLocation=function(){var e=this.stack[this.stack.length-1];return e?e.fullPath:"/"},t.prototype.ensureURL=function(){},t}(La),Ba=function(e){void 0===e&&(e={}),this.app=null,this.apps=[],this.options=e,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Xi(e.routes||[],this);var t=e.mode||"hash";switch(this.fallback="history"===t&&!ha&&!1!==e.fallback,this.fallback&&(t="hash"),qi||(t="abstract"),this.mode=t,t){case"history":this.history=new Ma(this,e.base);break;case"hash":this.history=new Ra(this,e.base,this.fallback);break;case"abstract":this.history=new za(this,e.base);break;default:0}},Ga={currentRoute:{configurable:!0}};Ba.prototype.match=function(e,t,n){return this.matcher.match(e,t,n)},Ga.currentRoute.get=function(){return this.history&&this.history.current},Ba.prototype.init=function(e){var t=this;if(this.apps.push(e),e.$once("hook:destroyed",(function(){var n=t.apps.indexOf(e);n>-1&&t.apps.splice(n,1),t.app===e&&(t.app=t.apps[0]||null),t.app||t.history.teardown()})),!this.app){this.app=e;var n=this.history;if(n instanceof Ma||n instanceof Ra){var r=function(e){n.setupListeners(),function(e){var r=n.current,o=t.options.scrollBehavior;ha&&o&&"fullPath"in e&&ia(t,e,r,!1)}(e)};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(e){t.apps.forEach((function(t){t._route=e}))}))}},Ba.prototype.beforeEach=function(e){return Ha(this.beforeHooks,e)},Ba.prototype.beforeResolve=function(e){return Ha(this.resolveHooks,e)},Ba.prototype.afterEach=function(e){return Ha(this.afterHooks,e)},Ba.prototype.onReady=function(e,t){this.history.onReady(e,t)},Ba.prototype.onError=function(e){this.history.onError(e)},Ba.prototype.push=function(e,t,n){var r=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){r.history.push(e,t,n)}));this.history.push(e,t,n)},Ba.prototype.replace=function(e,t,n){var r=this;if(!t&&!n&&"undefined"!=typeof Promise)return new Promise((function(t,n){r.history.replace(e,t,n)}));this.history.replace(e,t,n)},Ba.prototype.go=function(e){this.history.go(e)},Ba.prototype.back=function(){this.go(-1)},Ba.prototype.forward=function(){this.go(1)},Ba.prototype.getMatchedComponents=function(e){var t=e?e.matched?e:this.resolve(e).route:this.currentRoute;return t?[].concat.apply([],t.matched.map((function(e){return Object.keys(e.components).map((function(t){return e.components[t]}))}))):[]},Ba.prototype.resolve=function(e,t,n){var r=Bi(e,t=t||this.history.current,n,this),o=this.match(r,t),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(e,t,n){var r="hash"===n?"#"+t:t;return e?Oi(e+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},Ba.prototype.getRoutes=function(){return this.matcher.getRoutes()},Ba.prototype.addRoute=function(e,t){this.matcher.addRoute(e,t),this.history.current!==hi&&this.history.transitionTo(this.history.getCurrentLocation())},Ba.prototype.addRoutes=function(e){this.matcher.addRoutes(e),this.history.current!==hi&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Ba.prototype,Ga);var Ja=Ba;function Ha(e,t){return e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}Ba.install=function e(t){if(!e.installed||Gi!==t){e.installed=!0,Gi=t;var n=function(e){return void 0!==e},r=function(e,t){var r=e.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(e,t)};t.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",wi),t.component("RouterLink",Hi);var o=t.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Ba.version="3.6.5",Ba.isNavigationFailure=Oa,Ba.NavigationFailureType=ga,Ba.START_LOCATION=hi,qi&&window.Vue&&window.Vue.use(Ba);n(97);n(94),n(129);var Va={NotFound:()=>n.e(10).then(n.bind(null,300)),Layout:()=>Promise.all([n.e(0),n.e(2)]).then(n.bind(null,299))},qa={"v-06f3c5ef":()=>n.e(11).then(n.bind(null,305)),"v-6d103c0f":()=>n.e(12).then(n.bind(null,306)),"v-0c31170f":()=>n.e(13).then(n.bind(null,307)),"v-7be33f55":()=>n.e(14).then(n.bind(null,308)),"v-592ee76f":()=>n.e(15).then(n.bind(null,309)),"v-31887371":()=>n.e(16).then(n.bind(null,310)),"v-225394af":()=>n.e(17).then(n.bind(null,311)),"v-4e22b48a":()=>n.e(18).then(n.bind(null,312)),"v-81274ae2":()=>n.e(19).then(n.bind(null,313)),"v-345a158f":()=>n.e(20).then(n.bind(null,314)),"v-563ba2e2":()=>n.e(21).then(n.bind(null,315)),"v-42c06637":()=>n.e(22).then(n.bind(null,316)),"v-64989b6f":()=>n.e(23).then(n.bind(null,317)),"v-f522bdba":()=>n.e(24).then(n.bind(null,318)),"v-9676641e":()=>n.e(25).then(n.bind(null,319)),"v-d825f8e2":()=>n.e(26).then(n.bind(null,320)),"v-de1236aa":()=>n.e(27).then(n.bind(null,321)),"v-6b9f262f":()=>n.e(3).then(n.bind(null,322)),"v-d168dba2":()=>n.e(28).then(n.bind(null,323)),"v-beda3462":()=>n.e(29).then(n.bind(null,324)),"v-61ce28a2":()=>n.e(30).then(n.bind(null,325)),"v-ab47dc22":()=>n.e(31).then(n.bind(null,326)),"v-003c2faf":()=>n.e(32).then(n.bind(null,327)),"v-7a85af9e":()=>n.e(33).then(n.bind(null,328)),"v-f8efcd22":()=>n.e(34).then(n.bind(null,329)),"v-010d50e2":()=>n.e(35).then(n.bind(null,330)),"v-d732ddea":()=>n.e(36).then(n.bind(null,331)),"v-3eadfe49":()=>n.e(37).then(n.bind(null,332)),"v-2a5ebdfe":()=>n.e(38).then(n.bind(null,333)),"v-e815d23e":()=>n.e(39).then(n.bind(null,334)),"v-c6805a6a":()=>n.e(40).then(n.bind(null,335)),"v-b555e268":()=>n.e(41).then(n.bind(null,336)),"v-9b08b72a":()=>n.e(42).then(n.bind(null,337)),"v-fc8dde62":()=>n.e(43).then(n.bind(null,338)),"v-a4d8fe62":()=>n.e(44).then(n.bind(null,339)),"v-1b47640f":()=>n.e(45).then(n.bind(null,340)),"v-a6521322":()=>n.e(46).then(n.bind(null,341)),"v-5ed8efd6":()=>n.e(47).then(n.bind(null,342)),"v-751f9e23":()=>n.e(48).then(n.bind(null,343)),"v-051fd6ef":()=>n.e(49).then(n.bind(null,344)),"v-687695a2":()=>n.e(50).then(n.bind(null,345)),"v-98819f36":()=>n.e(51).then(n.bind(null,346)),"v-72831da2":()=>n.e(52).then(n.bind(null,347)),"v-66a0075c":()=>n.e(53).then(n.bind(null,348)),"v-1e60c8e2":()=>n.e(54).then(n.bind(null,349)),"v-cb4c1c86":()=>n.e(55).then(n.bind(null,350)),"v-7fc82f01":()=>n.e(56).then(n.bind(null,351)),"v-7e90673c":()=>n.e(57).then(n.bind(null,352))};function Wa(e){const t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}const Ka=/-(\w)/g,Xa=Wa(e=>e.replace(Ka,(e,t)=>t?t.toUpperCase():"")),Ya=/\B([A-Z])/g,Za=Wa(e=>e.replace(Ya,"-$1").toLowerCase()),Qa=Wa(e=>e.charAt(0).toUpperCase()+e.slice(1));function es(e,t){if(!t)return;if(e(t))return e(t);return t.includes("-")?e(Qa(Xa(t))):e(Qa(t))||e(Za(t))}const ts=Object.assign({},Va,qa),ns=e=>ts[e],rs=e=>qa[e],os=e=>Va[e],is=e=>Vn.component(e);function as(e){return es(rs,e)}function ss(e){return es(os,e)}function cs(e){return es(ns,e)}function ls(e){return es(is,e)}function us(...e){return Promise.all(e.filter(e=>e).map(async e=>{if(!ls(e)&&cs(e)){const t=await cs(e)();Vn.component(e,t.default)}}))}function ds(e,t){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[e]=t)}var fs=n(91),ps=n.n(fs),hs=n(92),vs=n.n(hs),ms={created(){if(this.siteMeta=this.$site.headTags.filter(([e])=>"meta"===e).map(([e,t])=>t),this.$ssrContext){const t=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(e=t)?e.map(e=>{let t="{t+=` ${n}="${vs()(e[n])}"`}),t+">"}).join("\n "):"",this.$ssrContext.canonicalLink=ys(this.$canonicalUrl)}var e},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const e=this.getMergedMetaTags();this.currentMetaTags=bs(e,this.currentMetaTags)},getMergedMetaTags(){const e=this.$page.frontmatter.meta||[];return ps()([{name:"description",content:this.$description}],e,this.siteMeta,ws)},updateCanonicalLink(){gs(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",ys(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){bs(null,this.currentMetaTags),gs()}};function gs(){const e=document.querySelector("link[rel='canonical']");e&&e.remove()}function ys(e=""){return e?``:""}function bs(e,t){if(t&&[...t].filter(e=>e.parentNode===document.head).forEach(e=>document.head.removeChild(e)),e)return e.map(e=>{const t=document.createElement("meta");return Object.keys(e).forEach(n=>{t.setAttribute(n,e[n])}),document.head.appendChild(t),t})}function ws(e){for(const t of["name","property","itemprop"])if(e.hasOwnProperty(t))return e[t]+t;return JSON.stringify(e)}var _s=n(22),Ss=n.n(_s),Os={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:Ss()((function(){this.setActiveHash()}),300),setActiveHash(){const e=[].slice.call(document.querySelectorAll(".sidebar-link")),t=[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(e=>e.hash===t.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let e=0;e=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},xs=n(23),ks=n.n(xs),As={mounted(){ks.a.configure({showSpinner:!1}),this.$router.beforeEach((e,t,n)=>{e.path===t.path||Vn.component(e.name)||ks.a.start(),n()}),this.$router.afterEach(()=>{ks.a.done(),this.isSidebarOpen=!1})}},Ps={props:{parent:Object,code:String,options:{align:String,color:String,backgroundTransition:Boolean,backgroundColor:String,successText:String,staticIcon:Boolean}},data:()=>({success:!1,originalBackground:null,originalTransition:null}),computed:{alignStyle(){let e={};return e[this.options.align]="7.5px",e},iconClass(){return this.options.staticIcon?"":"hover"}},mounted(){this.originalTransition=this.parent.style.transition,this.originalBackground=this.parent.style.background},beforeDestroy(){this.parent.style.transition=this.originalTransition,this.parent.style.background=this.originalBackground},methods:{hexToRgb(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null},copyToClipboard(e){if(navigator.clipboard)navigator.clipboard.writeText(this.code).then(()=>{this.setSuccessTransitions()},()=>{});else{let e=document.createElement("textarea");document.body.appendChild(e),e.value=this.code,e.select(),document.execCommand("Copy"),e.remove(),this.setSuccessTransitions()}},setSuccessTransitions(){if(clearTimeout(this.successTimeout),this.options.backgroundTransition){this.parent.style.transition="background 350ms";let e=this.hexToRgb(this.options.backgroundColor);this.parent.style.background=`rgba(${e.r}, ${e.g}, ${e.b}, 0.1)`}this.success=!0,this.successTimeout=setTimeout(()=>{this.options.backgroundTransition&&(this.parent.style.background=this.originalBackground,this.parent.style.transition=this.originalTransition),this.success=!1},500)}}},Ts=(n(238),n(7)),Cs=Object(Ts.a)(Ps,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"code-copy"},[t("svg",{class:e.iconClass,style:e.alignStyle,attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},on:{click:e.copyToClipboard}},[t("path",{attrs:{fill:"none",d:"M0 0h24v24H0z"}}),e._v(" "),t("path",{attrs:{fill:e.options.color,d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4l6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"}})]),e._v(" "),t("span",{class:e.success?"success":"",style:e.alignStyle},[e._v("\n "+e._s(e.options.successText)+"\n ")])])}),[],!1,null,"49140617",null).exports,Ls=(n(239),{updated(){this.update()},methods:{update(){setTimeout(()=>{document.querySelectorAll('div[class*="language-"] pre').forEach(e=>{if(e.classList.contains("code-copy-added"))return;let t=new(Vn.extend(Cs));t.options={align:"bottom",color:"#27b1ff",backgroundTransition:!0,backgroundColor:"#0075b8",successText:"Copied!",staticIcon:!1},t.code=e.innerText,t.parent=e,t.$mount(),e.classList.add("code-copy-added"),e.appendChild(t.$el)})},100)}}}),js=n(93),Es=n.n(js),Ms=(n(240),{mounted(){Es.a.polyfill()}}),Is=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=window.Promise||function(e){function t(){}e(t,t)},o=function(e){var t=e.target;t!==k?-1!==b.indexOf(t)&&v({target:t}):h()},i=function(){if(!_&&x.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(S-e)>O.scrollOffset&&setTimeout(h,150)}},a=function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||h()},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e;if(e.background&&(k.style.background=e.background),e.container&&e.container instanceof Object&&(t.container=Is({},O.container,e.container)),e.template){var n=$s(e.template)?e.template:document.querySelector(e.template);t.template=n}return O=Is({},O,t),b.forEach((function(e){e.dispatchEvent(zs("medium-zoom:update",{detail:{zoom:A}}))})),A},c=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e(Is({},O,t))},l=function(){for(var e=arguments.length,t=Array(e),n=0;n0?t.reduce((function(e,t){return[].concat(e,Ds(t))}),[]):b;return r.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(zs("medium-zoom:detach",{detail:{zoom:A}}))})),b=b.filter((function(e){return-1===r.indexOf(e)})),A},d=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return b.forEach((function(r){r.addEventListener("medium-zoom:"+e,t,n)})),w.push({type:"medium-zoom:"+e,listener:t,options:n}),A},f=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return b.forEach((function(r){r.removeEventListener("medium-zoom:"+e,t,n)})),w=w.filter((function(n){return!(n.type==="medium-zoom:"+e&&n.listener.toString()===t.toString())})),A},p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target,n=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(O.container)if(O.container instanceof Object)t=(e=Is({},e,O.container)).width-e.left-e.right-2*O.margin,n=e.height-e.top-e.bottom-2*O.margin;else{var r=($s(O.container)?O.container:document.querySelector(O.container)).getBoundingClientRect(),o=r.width,i=r.height,a=r.left,s=r.top;e=Is({},e,{width:o,height:i,left:a,top:s})}t=t||e.width-2*O.margin,n=n||e.height-2*O.margin;var c=x.zoomedHd||x.original,l=Ns(c)?t:c.naturalWidth||t,u=Ns(c)?n:c.naturalHeight||n,d=c.getBoundingClientRect(),f=d.top,p=d.left,h=d.width,v=d.height,m=Math.min(Math.max(h,l),t)/h,g=Math.min(Math.max(v,u),n)/v,y=Math.min(m,g),b="scale("+y+") translate3d("+((t-h)/2-p+O.margin+e.left)/y+"px, "+((n-v)/2-f+O.margin+e.top)/y+"px, 0)";x.zoomed.style.transform=b,x.zoomedHd&&(x.zoomedHd.style.transform=b)};return new r((function(e){if(t&&-1===b.indexOf(t))e(A);else{if(x.zoomed)e(A);else{if(t)x.original=t;else{if(!(b.length>0))return void e(A);var r=b;x.original=r[0]}if(x.original.dispatchEvent(zs("medium-zoom:open",{detail:{zoom:A}})),S=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,_=!0,x.zoomed=Fs(x.original),document.body.appendChild(k),O.template){var o=$s(O.template)?O.template:document.querySelector(O.template);x.template=document.createElement("div"),x.template.appendChild(o.content.cloneNode(!0)),document.body.appendChild(x.template)}if(x.original.parentElement&&"PICTURE"===x.original.parentElement.tagName&&x.original.currentSrc&&(x.zoomed.src=x.original.currentSrc),document.body.appendChild(x.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),x.original.classList.add("medium-zoom-image--hidden"),x.zoomed.classList.add("medium-zoom-image--opened"),x.zoomed.addEventListener("click",h),x.zoomed.addEventListener("transitionend",(function t(){_=!1,x.zoomed.removeEventListener("transitionend",t),x.original.dispatchEvent(zs("medium-zoom:opened",{detail:{zoom:A}})),e(A)})),x.original.getAttribute("data-zoom-src")){x.zoomedHd=x.zoomed.cloneNode(),x.zoomedHd.removeAttribute("srcset"),x.zoomedHd.removeAttribute("sizes"),x.zoomedHd.removeAttribute("loading"),x.zoomedHd.src=x.zoomed.getAttribute("data-zoom-src"),x.zoomedHd.onerror=function(){clearInterval(i),console.warn("Unable to reach the zoom image target "+x.zoomedHd.src),x.zoomedHd=null,n()};var i=setInterval((function(){x.zoomedHd.complete&&(clearInterval(i),x.zoomedHd.classList.add("medium-zoom-image--opened"),x.zoomedHd.addEventListener("click",h),document.body.appendChild(x.zoomedHd),n())}),10)}else if(x.original.hasAttribute("srcset")){x.zoomedHd=x.zoomed.cloneNode(),x.zoomedHd.removeAttribute("sizes"),x.zoomedHd.removeAttribute("loading");var a=x.zoomedHd.addEventListener("load",(function(){x.zoomedHd.removeEventListener("load",a),x.zoomedHd.classList.add("medium-zoom-image--opened"),x.zoomedHd.addEventListener("click",h),document.body.appendChild(x.zoomedHd),n()}))}else n()}}}))},h=function(){return new r((function(e){if(!_&&x.original){_=!0,document.body.classList.remove("medium-zoom--opened"),x.zoomed.style.transform="",x.zoomedHd&&(x.zoomedHd.style.transform=""),x.template&&(x.template.style.transition="opacity 150ms",x.template.style.opacity=0),x.original.dispatchEvent(zs("medium-zoom:close",{detail:{zoom:A}})),x.zoomed.addEventListener("transitionend",(function t(){x.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(x.zoomed),x.zoomedHd&&document.body.removeChild(x.zoomedHd),document.body.removeChild(k),x.zoomed.classList.remove("medium-zoom-image--opened"),x.template&&document.body.removeChild(x.template),_=!1,x.zoomed.removeEventListener("transitionend",t),x.original.dispatchEvent(zs("medium-zoom:closed",{detail:{zoom:A}})),x.original=null,x.zoomed=null,x.zoomedHd=null,x.template=null,e(A)}))}else e(A)}))},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.target;return x.original?h():p({target:t})},m=function(){return O},g=function(){return b},y=function(){return x.original},b=[],w=[],_=!1,S=0,O=n,x={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?O=t:(t||"string"==typeof t)&&l(t),O=Is({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},O);var k=Us(O.background);document.addEventListener("click",o),document.addEventListener("keyup",a),document.addEventListener("scroll",i),window.addEventListener("resize",h);var A={open:p,close:h,toggle:v,update:s,clone:c,attach:l,detach:u,on:d,off:f,getOptions:m,getImages:g,getZoomedImage:y};return A};const Gs=JSON.parse('{"background":"var(--bodyBgColor)"}'),Js=Number("500");class Hs{constructor(){this.instance=null}update(e="img"){"undefined"!=typeof window&&(null===this.instance?this.instance=Bs(e,Gs):(this.instance.detach(),this.instance.attach(e)))}updateDelay(e="img",t=Js){setTimeout(()=>this.update(e),t)}}n(241);var Vs=[ms,Os,As,Ls,Ms,{watch:{"$page.path"(){void 0!==this.$vuepress.mediumZoom&&this.$vuepress.mediumZoom.updateDelay()}},mounted(){this.$vuepress.mediumZoom=new Hs,this.$vuepress.mediumZoom.updateDelay()}}],qs={name:"GlobalLayout",computed:{layout(){const e=this.getLayout();return ds("layout",e),Vn.component(e)}},methods:{getLayout(){if(this.$page.path){const e=this.$page.frontmatter.layout;return e&&(this.$vuepress.getLayoutAsyncComponent(e)||this.$vuepress.getVueComponent(e))?e:"Layout"}return"NotFound"}}},Ws=Object(Ts.a)(qs,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(e,t,n){switch(t){case"components":e[t]||(e[t]={}),Object.assign(e[t],n);break;case"mixins":e[t]||(e[t]=[]),e[t].push(...n);break;default:throw new Error("Unknown option name.")}}(Ws,"mixins",Vs);const Ks=[{name:"v-06f3c5ef",path:"/117CC.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-06f3c5ef").then(n)}},{name:"v-6d103c0f",path:"/32BIT.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-6d103c0f").then(n)}},{name:"v-0c31170f",path:"/3PTYCLIENTS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-0c31170f").then(n)}},{name:"v-7be33f55",path:"/ABOUTPOJAV.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-7be33f55").then(n)}},{name:"v-592ee76f",path:"/BUILD-FROM-SOURCE.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-592ee76f").then(n)}},{name:"v-31887371",path:"/CONT-POJAV.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-31887371").then(n)}},{name:"v-225394af",path:"/CONT-TRANSLATIONS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-225394af").then(n)}},{name:"v-4e22b48a",path:"/CONT-WEBSITE.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-4e22b48a").then(n)}},{name:"v-81274ae2",path:"/CUSTOM-CONTROLS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-81274ae2").then(n)}},{name:"v-345a158f",path:"/CUSTOM-MC.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-345a158f").then(n)}},{name:"v-563ba2e2",path:"/DEBUG-LOG.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-563ba2e2").then(n)}},{name:"v-42c06637",path:"/DEFAULT-CONTROLS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-42c06637").then(n)}},{name:"v-64989b6f",path:"/DEVICES.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-64989b6f").then(n)}},{name:"v-f522bdba",path:"/ENV-VARS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-f522bdba").then(n)}},{name:"v-9676641e",path:"/FFMPEG.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-9676641e").then(n)}},{name:"v-d825f8e2",path:"/FIRST-STEPS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-d825f8e2").then(n)}},{name:"v-de1236aa",path:"/INSTALL-MC.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-de1236aa").then(n)}},{name:"v-6b9f262f",path:"/INSTALL.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-6b9f262f").then(n)}},{name:"v-d168dba2",path:"/IOS-SUPPORT.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-d168dba2").then(n)}},{name:"v-beda3462",path:"/JAVA-ARGS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-beda3462").then(n)}},{name:"v-61ce28a2",path:"/JETSAM.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-61ce28a2").then(n)}},{name:"v-ab47dc22",path:"/JIT.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-ab47dc22").then(n)}},{name:"v-003c2faf",path:"/LEGAL.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-003c2faf").then(n)}},{name:"v-7a85af9e",path:"/LOCAL-MODE.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-7a85af9e").then(n)}},{name:"v-f8efcd22",path:"/MCVERS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-f8efcd22").then(n)}},{name:"v-010d50e2",path:"/MODDED-MC.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-010d50e2").then(n)}},{name:"v-d732ddea",path:"/MODPACKS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-d732ddea").then(n)}},{name:"v-3eadfe49",path:"/MODS-UNSUPPORTED.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-3eadfe49").then(n)}},{name:"v-2a5ebdfe",path:"/NOTCHFIX.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-2a5ebdfe").then(n)}},{name:"v-e815d23e",path:"/OPTIMIZATION.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-e815d23e").then(n)}},{name:"v-c6805a6a",path:"/PARSINGERROR.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-c6805a6a").then(n)}},{name:"v-b555e268",path:"/",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-b555e268").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-9b08b72a",path:"/REFUSALOFINSTALL.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-9b08b72a").then(n)}},{name:"v-fc8dde62",path:"/RENDERERS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-fc8dde62").then(n)}},{name:"v-a4d8fe62",path:"/ROADMAP.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-a4d8fe62").then(n)}},{name:"v-1b47640f",path:"/SHADERS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-1b47640f").then(n)}},{name:"v-a6521322",path:"/SIGN-IN.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-a6521322").then(n)}},{name:"v-5ed8efd6",path:"/UNJAIL.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-5ed8efd6").then(n)}},{name:"v-751f9e23",path:"/ZINK.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-751f9e23").then(n)}},{name:"v-051fd6ef",path:"/archived_pages/DEVICES_LINUX_INCL.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-051fd6ef").then(n)}},{name:"v-687695a2",path:"/archived_pages/JDK8.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-687695a2").then(n)}},{name:"v-98819f36",path:"/archived_pages/OGL32.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-98819f36").then(n)}},{name:"v-72831da2",path:"/archived_pages/PARTNERSHIPS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-72831da2").then(n)}},{name:"v-66a0075c",path:"/archived_pages/",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-66a0075c").then(n)}},{path:"/archived_pages/index.html",redirect:"/archived_pages/"},{name:"v-1e60c8e2",path:"/archived_pages/RIP-A7.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-1e60c8e2").then(n)}},{name:"v-cb4c1c86",path:"/changelogs/ANDROID.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-cb4c1c86").then(n)}},{name:"v-7fc82f01",path:"/changelogs/IOS.html",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-7fc82f01").then(n)}},{name:"v-7e90673c",path:"/images/",component:Ws,beforeEnter:(e,t,n)=>{us("Layout","v-7e90673c").then(n)}},{path:"/images/index.html",redirect:"/images/"},{path:"*",component:Ws}],Xs={title:"PojavLauncher",description:"A flexible, fast and open-source Minecraft Java Edition launcher for Android and iOS",base:"/",headTags:[["meta",{name:"theme-color",content:"#ffffff",media:"(prefers-color-scheme: light)"}],["meta",{name:"theme-color",content:"#25262b",media:"(prefers-color-scheme: dark)"}],["meta",{name:"apple-mobile-web-app-capable",content:"yes"}],["meta",{name:"apple-mobile-web-app-status-bar-style",content:"black"}],["link",{rel:"'stylesheet",href:"/styles/website.css"}]],pages:[{frontmatter:{},regularPath:"/117CC.html",relativePath:"117CC.md",key:"v-06f3c5ef",path:"/117CC.html",lastUpdated:"2/22/2023, 12:51:27 PM",lastUpdatedTimestamp:1677070287e3,content:""},{title:"PojavLauncher's 32-bit support",frontmatter:{},regularPath:"/32BIT.html",relativePath:"32BIT.md",key:"v-6d103c0f",path:"/32BIT.html",headers:[{level:2,title:"RAM Allocation",slug:"ram-allocation"},{level:2,title:"Performance",slug:"performance"}],lastUpdated:"2/23/2023, 3:13:07 PM",lastUpdatedTimestamp:1677165187e3,content:" PojavLauncher's 32-bit support \n Most of you, Android users, who are reading this now, won't be bothered by this documentation, but for the poor souls who have a 32-bit device, let's press L F to pay respect to them. \n Before ARM transitioned into the more-powerful, more-utilizing arm64/aarch64 architecture; everyone was using arm/aarch32 \n We're not here to give you historical information of it, but feel free to read this documentary about the ARM platform. \n You may encounter issues while using PojavLauncher on 32-bit devices. Here's a list of stuff that's known to be problematic: \n RAM Allocation \n \n Real 32-bit devices (32-bit hardware and firmware), can't allocate more than 768MB of RAM to PojavLauncher. This can't be changed even if the device has more free RAM. \n Examples of real 32-bit SoCs: Qualcomm Snapdragon 801, 800, 600, 400, S4, S3, S2, S1 \n 64-bit devices limited to 32-bit firmware can't allocate more than ~1000MB of RAM. As said earlier, this can't be changed. \n Examples of 64-bit SoCs limited to 32-bit firmware: MediaTek Helio G37, G35, G25, P35, P25, P23, P22 \n Performance \n Due to 32-bit's processing speed limit, Minecraft's performance is always compromised. Even with optimization mods installed, you may get big stutters even on lowest settings. Decreasing RAM Allocation may help performance in certain scenarios. \n"},{frontmatter:{},regularPath:"/3PTYCLIENTS.html",relativePath:"3PTYCLIENTS.md",key:"v-0c31170f",path:"/3PTYCLIENTS.html",lastUpdated:"2/22/2023, 12:51:27 PM",lastUpdatedTimestamp:1677070287e3,content:" s \n"},{title:"PojavLauncher",frontmatter:{},regularPath:"/ABOUTPOJAV.html",relativePath:"ABOUTPOJAV.md",key:"v-7be33f55",path:"/ABOUTPOJAV.html",headers:[{level:3,title:"From the ashes of zhouwei's Boardwalk project comes PojavLauncher, a capable, fast, and open-source Minecraft: Java Edition launcher for Android and iOS.",slug:"from-the-ashes-of-zhouwei-s-boardwalk-project-comes-pojavlauncher-a-capable-fast-and-open-source-minecraft-java-edition-launcher-for-android-and-ios"},{level:2,title:"Credits",slug:"credits"},{level:2,title:"Special thanks to these guys",slug:"special-thanks-to-these-guys"}],lastUpdated:"10/27/2022, 9:21:34 PM",lastUpdatedTimestamp:1666905694e3,content:" PojavLauncher \n From the ashes of zhouwei's Boardwalk project comes PojavLauncher, a capable, fast, and open-source Minecraft: Java Edition launcher for Android and iOS. \n PojavLauncher is based off of zhouwei's Boardwalk project, which brought Minecraft 1.13 to Android. Improved upon and revived by the team, PojavLauncher brings Boardwalk to new heights with more versions, more devices, and even iOS support. \n Right now, you're looking at the PojavLauncher website, with information regarding the launcher and various guides on how to navigate, operate, and get to playing. Take a look around, there's more in store! \n Credits \n PojavLauncher didn't just appear out of thin air, but was made possible by the following people! \n @PojavLauncherTeam , which includes \n \n @DuyKhanhTran \n @artdeell \n @Mathias Bouley \n @crystall1nedev \n \n ...and many more contributors to the Android and iOS repositories. \n PojavLauncher also uses the following third-party components: \n \n Boardwalk (JVM Launcher): Unknown License/ Apache License 2.0 or GNU GPLv2. \n Caciocavallo : GNU GPLv2 License . \n Android Support Libraries: Apache License 2.0 . \n GL4ES : MIT License . \n OpenJDK : GNU GPLv2 License . On iOS, it was ported by @Diatrus \n LWJGL3 : BSD-3 License . \n LWJGLX (LWJGL2 API compatibility layer for LWJGL3): unknown license. \n Mesa 3D Graphics Library : MIT License . \n pro-grade (Java sandboxing security manager): Apache License 2.0 . \n xHook (Used for exit code trapping): MIT and BSD-style licenses . \n libepoxy : MIT License . \n virglrenderer : MIT License . \n Apache Commons : Apache License 2.0 . \n jsr305 : 3-Clause BSD License . \n org.json : The JSON License . \n MetalANGLE by @kakashidinho and ANGLE team: BSD License 2.0 . \n MoltenVK : Apache 2.0 License . \n Alderis (color picker for iOS < 14): Apache 2.0 License . \n DBNumberedSlider : Apache 2.0 License \n fishhook (jailed environment usage only): BSD-3 License . \n Java Native Access : Apache 2.0 License . \n shaderc (used by mods that uses Vulkan for rendering): Apache 2.0 License . \n TOInsetGroupedTableView : MIT License . \n Special thanks to these guys \n \n Thanks to MCHeads for providing Minecraft avatars. \n Thanks to @Diatrus for helping make this a reality in the beginning. \n Thanks to MacStadium for providing the hardware needed to help PojavLauncher iOS go further. \n \n \n"},{title:"Building from source",frontmatter:{},regularPath:"/BUILD-FROM-SOURCE.html",relativePath:"BUILD-FROM-SOURCE.md",key:"v-592ee76f",path:"/BUILD-FROM-SOURCE.html",headers:[{level:2,title:"Setting up JRE",slug:"setting-up-jre"},{level:3,title:"Android",slug:"android"},{level:3,title:"iOS",slug:"ios"},{level:2,title:"LWJGL",slug:"lwjgl"},{level:2,title:"Building the Launcher",slug:"building-the-launcher"},{level:3,title:"Updating translations",slug:"updating-translations"},{level:3,title:"Build GLFW Stub",slug:"build-glfw-stub"},{level:3,title:"Build the Launcher",slug:"build-the-launcher"}],lastUpdated:"11/4/2022, 4:16:58 PM",lastUpdatedTimestamp:1667578618e3,content:" Building from source \n \n \n Even though it is well-explained, building from source requires skill, internet and time. \n \n \n You can try building on Android with Termux , but no support will be included for it. \n \n \n It is recommended to clone the PojavLauncher repository before starting Setting Up JRE \n \n \n git clone https://github.com/PojavLauncherTeam/PojavLauncher \n Setting up JRE \n \n \n You can download it from CI Auto Builds if you don't want to/can't build. \n \n \n Source: PojavLauncherTeam/android-openjdk-build-multiarch \n Android \n \n Clone the git repository of PojavLauncherTeam/android-openjdk-build-multiarch \n \n git clone https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch\n \n \n Change the directory to the cloned repository \n \n cd android-openjdk-build-multiarch\n \n \n Download Android NDK r10e from here and place it in this directory with a file explorer. (Can't automatically download because of EULA) \n \n WARNING \n Do not attempt to build using a newer or older NDK, it will lead to compilation errors. \n iOS \n \n Get the latest Xcode (tested with Xcode 12). \n Platform and architecture specific environment variables \n \n \n \n Platform \n Architecture \n Target \n Target_JDK \n \n \n \n \n Android \n armv8/aarch64 \n aarch64-linux-android \n aarch64 \n \n \n Android \n armv7/aarch32 \n arm-linux-androideabi \n arm \n \n \n Android \n x86/i686 \n i686-linux-android \n x86 \n \n \n Android \n x86_64/amd64 \n x86_64-linux-android \n x86_64 \n \n \n iOS/iPadOS \n armv8/aarch64 \n aarch64-macos-ios \n aarch64 \n Building JRE (Java Runtime Environment) \n \n \n export BUILD_IOS=0\n \n \n \n export BUILD_IOS=1\n \n \n \n export BUILD_FREETYPE_VERSION=[2.10.4] \n TIP \n You can use versions between 2.6.2 and 2.10.4 but 2.10.4 is preferred. \n \n export JDK_DEBUG_LEVEL=[release] \n TIP \n You can use release , fastdebug and debug , but release is preferred \n \n export JVM_VARIANTS=[client] \n TIP \n You can use client and server variants, Client is for aarch32 and server is for other architectures \n \n (Android only) \n ./extractndk.sh \n ./maketoolchain.sh \n Get CUPS, Freetype and build Freetype \n ./getlibs.sh \n ./buildlibs.sh \n Clone JDK, run once \n ./clonejdk.sh \n Configure JDK and build \n ./buildjdk.sh \n TIP \n If no configuration is changed, run sh makejdkwithoutconfigure.sh instead \n Pack the built JDK \n ./removejdkdebuginfo.sh \n ./tarjdk.sh \n LWJGL \n \n Coming soon \n Building the Launcher \n Updating translations \n \n \n Updating translations is easier thanks to language list updater scripts \n \n \n Just run this command and it'll be automatically updated from Crowdin. \n \n \n \n \n scripts\\languagelist_updater.bat\n \n \n \n chmod +x scripts/languagelist_updater.sh\nbash scripts/languagelist_updater.sh\n Build GLFW Stub \n \n \n ./gradlew :jre_lwjgl3glfw:build\n \n \n \n gradle :jre_lwjgl3glfw:build\n Build the Launcher \n \n \n ./gradlew.bat :app_pojavlauncher:assembleDebug\n \n \n \n ./gradlew :app_pojavlauncher:assembleDebug\n \n \n \n"},{title:"Contributing to PojavLauncher itself",frontmatter:{},regularPath:"/CONT-POJAV.html",relativePath:"CONT-POJAV.md",key:"v-31887371",path:"/CONT-POJAV.html",lastUpdated:"10/24/2022, 1:36:49 PM",lastUpdatedTimestamp:1666618609e3,content:" Contributing to PojavLauncher itself \n"},{title:"Contributing to the translation of PojavLauncher",frontmatter:{},regularPath:"/CONT-TRANSLATIONS.html",relativePath:"CONT-TRANSLATIONS.md",key:"v-225394af",path:"/CONT-TRANSLATIONS.html",headers:[{level:2,title:"Getting started for newcomers on Crowdin",slug:"getting-started-for-newcomers-on-crowdin"},{level:2,title:"What to translate and what not to translate?",slug:"what-to-translate-and-what-not-to-translate"},{level:2,title:"Proofreading",slug:"proofreading"}],lastUpdated:"10/27/2022, 9:21:34 PM",lastUpdatedTimestamp:1666905694e3,content:' Contributing to the translation of PojavLauncher \n \n \n For the convenience of translators, we use Crowdin . \n \n \n Anyone can join the project on Crowdin and start translating right now. \n \n \n Join the project \n Getting started for newcomers on Crowdin \n \n \n After you sign up on Crowdin and join the project, you can start translating the strings. \n \n \n First, on the project page, you should select the language you want to translate PojavLauncher into. \n \n \n Then, you will see the files to be translated. After the name of each file, you can see the translation progress of that file. The blue bar represents the progress of translated strings, and the green bar represents the progress of approved strings. \n \n \n Now you can click on the "Translate all" button and you will be moved to the translation editor. But first, Crowdin will suggest you to read useful tips for using the translation editor. \n What to translate and what not to translate? \n WARNING \n Things not to translate: PojavLauncher, codes like <1>, , \\n, %s, %.2f, %1$s, %@ , arrows like ◀, \n \n \n Except for the list above, you can translate anything else. \n Proofreading \n \n Proofreading of the strings is made by the language proofreader. Proofreaders are appointed by @Syjalo. Please don\'t ask him to approve the strings or appoint somebody as a proofreader. He will choose a suitable candidate in his opinion. Approved or most voted translation suggestions will be added to the launcher. \n \n'},{title:"Contributing to this website",frontmatter:{},regularPath:"/CONT-WEBSITE.html",relativePath:"CONT-WEBSITE.md",key:"v-4e22b48a",path:"/CONT-WEBSITE.html",headers:[{level:2,title:"What is Vuepress?",slug:"what-is-vuepress"},{level:2,title:"How do I contribute?",slug:"how-do-i-contribute"},{level:2,title:"What to do and what not to do?",slug:"what-to-do-and-what-not-to-do"}],lastUpdated:"10/27/2022, 9:21:34 PM",lastUpdatedTimestamp:1666905694e3,content:" Contributing to this website \n We're always happy to accept help from our beloved community, and this website is no different. However, we want to cover some ground rules before you get started. \n What is Vuepress? \n Vuepress is a static website generator, although it looks really good. It takes three things: a config file, markdown (.md) documents, and resources for images and such, and then compiles them into HTML for browser-friendly access. \n How do I contribute? \n Simple: \n \n \n Fork this repository . \n \n \n Click on \"Edit this page\" on any page, then edit the markdown file with your properly tuned syntax (using Discord? You already know Markdown), then save and commit. It's that easy. \n \n \n If you want to see your changes on your fork, you'll have to either \n \n \n 1- Rename the repo to .github.io \n \n Set the Pages settings to build from the root of gh-pages \n \n 2- (if you have node installed), run npm install && npm run build && npm run start . \n What to do and what not to do? \n You're allowed to pretty much change anything, as long as it follows all of these rules: \n \n Do not make any promises unless you were given permission from the developers. \n Do not spread misinformation and inaccurate content. \n Although you can change everything else, do not touch .vuepress/config.js . If you need to change something in it, let Crystall1nedev or CriticalRange know. \n Never, never ever ever merge gh-pages and main into each other. gh-pages is the result , main is the rough draft . \n Do not delete any dot files (.nvmrc, .gitattributes, etc) \n \n With all of these in mind, you're free to help us out with our website! \n"},{title:"Customizing the on-screen controls",frontmatter:{},regularPath:"/CUSTOM-CONTROLS.html",relativePath:"CUSTOM-CONTROLS.md",key:"v-81274ae2",path:"/CUSTOM-CONTROLS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Customizing the on-screen controls \n"},{title:"Installing custom versions of Minecraft",frontmatter:{},regularPath:"/CUSTOM-MC.html",relativePath:"CUSTOM-MC.md",key:"v-345a158f",path:"/CUSTOM-MC.html",headers:[{level:3,title:"Installation:",slug:"installation"},{level:3,title:"Notes:",slug:"notes"}],lastUpdated:"4/10/2023, 12:22:28 PM",lastUpdatedTimestamp:1681129348e3,content:' Installing custom versions of Minecraft \n If you want an old mod or modpack to run (Minecraft 1.2.4 and older), this is for you. Warning, not for newcomers! \n Installation: \n \n If you are on Android, install MiXplorer and MiX Archive \n Make a copy of the Minecraft version you want to modify \n Rename the custom version folder , .jar and .json to your desired custom version name (for example, foo , foo.jar , foo.json ) \n Open the custom version\'s .json with MiX\'s Text Editor \n Remove "downloads:{"client"...} as shown in the screenshot \n \n \n \n Change "id": "1.2.4" to "id": "(your custom version name)" \n Change "mainClass": "net.minecraft.launchwrapper.Launch" to "mainClass": "net.minecraft.client.Minecraft" \n Save the .json \n Modify your .jar as desired, make sure to delete the META-INF folder afterwards. \n Start up your custom version! \n Notes: \n \n If your game is stuck at the Mojang screen afterwards, try deleting options.txt \n This guide is NOT for Babric or Cursed Fabric! \n \n'},{title:"Debugging issues with the launcher",frontmatter:{},regularPath:"/DEBUG-LOG.html",relativePath:"DEBUG-LOG.md",key:"v-563ba2e2",path:"/DEBUG-LOG.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Debugging issues with the launcher \n"},{title:"Taking a look at the controls",frontmatter:{},regularPath:"/DEFAULT-CONTROLS.html",relativePath:"DEFAULT-CONTROLS.md",key:"v-42c06637",path:"/DEFAULT-CONTROLS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Taking a look at the controls \n"},{title:"Device requirements",frontmatter:{},regularPath:"/DEVICES.html",relativePath:"DEVICES.md",key:"v-64989b6f",path:"/DEVICES.html",headers:[{level:2,title:"Android",slug:"android"},{level:3,title:"Minimum requirements:",slug:"minimum-requirements"},{level:3,title:"Recommended requirements:",slug:"recommended-requirements"},{level:3,title:"ChromeOS",slug:"chromeos"},{level:2,title:"iOS",slug:"ios"},{level:3,title:"Minimum requirements:",slug:"minimum-requirements-2"},{level:3,title:"Recommended requirements:",slug:"recommended-requirements-2"}],lastUpdated:"4/10/2023, 12:22:28 PM",lastUpdatedTimestamp:1681129348e3,content:" Device requirements \n \n Minimum means 30 or more average FPS on 1.7.10 with OptiFine installed at lowest settings. \n Recommended means 60 or more average FPS on 1.19.4 with OptiFine installed at lowest settings. \n Android \n Minimum requirements: \n \n Qualcomm Snapdragon 400 (or equivalent) \n Android 5.0 \n 1GB RAM \n Recommended requirements: \n \n Qualcomm Snapdragon 820 (or equivalent) with Vulkan API support \n Android 8.0 and newer \n 4GB RAM \n ChromeOS \n \n Chromebooks have very similar system requirements, however Android version does not matter, as long as you can install Android apps. \n iOS \n Minimum requirements: \n \n Apple A8 SoC\n \n The Apple A7 SoC is losing support in PojavLauncher 2.3. \n \n \n iOS 12 \n 1GB RAM \n Recommended requirements: \n \n Apple A10/A10X Fusion SoC \n iOS 14 \n 2GB RAM \n \n"},{title:"Using environment variables",frontmatter:{},regularPath:"/ENV-VARS.html",relativePath:"ENV-VARS.md",key:"v-f522bdba",path:"/ENV-VARS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Using environment variables \n"},{title:"Exporting videos with Replay Mod",frontmatter:{},regularPath:"/FFMPEG.html",relativePath:"FFMPEG.md",key:"v-9676641e",path:"/FFMPEG.html",lastUpdated:"4/10/2023, 12:22:28 PM",lastUpdatedTimestamp:1681129348e3,content:" Exporting videos with Replay Mod \n \n Download the ffmpeg binary here . Choose one according to your device’s architecture.\n \n (For GitHub builds) Due to the limit of Replay’s command window, you need to rename the executable to a short name, like -> :fr: . Let’s call it . \n \n \n Install an APK Editor from Google Play or everywhere else. \n Follow the instructions of the app to add the executable to /lib/ folder of the APK. Then build the APK and install it.\n \n (Required for a clean install) Install everything needed (Forge, Replay Mod). \n \n \n Now launch Minecraft. We haven’t done yet, so force close it after launching. \n Find latestlog.txt.\n \n Open it and find this line: Added custom env: POJAV_NATIVEDIR= . \n Copy the part. \n \n \n Launch the game again, go to Replay Viewer and load the record you want to export. \n Follow Replay’s instructions to add keyframes, then (press T show mouse cursor and) click at Render Camera Path . \n Scroll to the bottom, paste the text you copied in step 5 into the first command line window, then write / (step 1) at the end of the text line. \n Tap Render and enjoy your video. \n \n"},{frontmatter:{},regularPath:"/FIRST-STEPS.html",relativePath:"FIRST-STEPS.md",key:"v-d825f8e2",path:"/FIRST-STEPS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:""},{title:"Downloading a copy of Minecraft",frontmatter:{},regularPath:"/INSTALL-MC.html",relativePath:"INSTALL-MC.md",key:"v-de1236aa",path:"/INSTALL-MC.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Downloading a copy of Minecraft \n"},{title:"Installing the launcher",frontmatter:{},regularPath:"/INSTALL.html",relativePath:"INSTALL.md",key:"v-6b9f262f",path:"/INSTALL.html",headers:[{level:2,title:"Android",slug:"android"},{level:2,title:"iOS",slug:"ios"}],lastUpdated:"10/29/2022, 12:56:44 PM",lastUpdatedTimestamp:1667048204e3,content:' Installing the launcher \n Android \n Instructions for installing PojavLauncher on Android devices. \n Google Play \n You can grab PojavLauncher from the Google Play Store here. \n \n GitHub Actions \n Requires a GitHub account in order to download. \n If you want the latest and greatest to test before the official release, you can grab a copy from GitHub Actions. \n \n Start off by heading to the PojavLauncher repository and switching to the "Actions" tab. \n \n \n \n Next, select "Android CI" in the workflow selection menu. \n \n \n \n Choose a build with a green or blue checkmark next to the branch you want to download.\n \n v3_openjdk will be the one for most people. \n \n \n \n \n \n Under "Artifacts", choose the build type you wish to download.\n \n app-debug will be the one for most people. \n \n \n \n \n Once you have an Actions build downloaded, you can now unzip the file and install it as you would any other .apk file. \n \n Source \n Instructions coming in a future revision to this website. \n iOS \n Instructions for installing PojavLauncher on Apple devices. \n Sideloading (TrollStore) \n We recommend TrollStore for all users if possible. This method allows for automatic JIT enabling, more memory allocation, and non-revoking installs. \n \n \n Follow the steps to install TrollStore . \n \n TrollStore is compatible with the following iOS versions:\n \n 14.0 to 15.4.1 \n 15.5 beta 1 to 15.5 beta 4 \n 15.6 beta 1 to 15.6 beta 5 \n \n \n \n \n \n Download the latest release from here . \n \n For a specific release, you can find its package on the Releases page \n \n \n \n Locate where the .ipa was downloaded, tap the Share icon, and choose TrollStore in the list of options available. \n \n \n You can now enjoy Minecraft: Java Edition on your iDevice! \n \n Sideloading (Unjailbroken) \n Requires an active Apple ID, that has signed into the Developer Portal at least once. \n PojavLauncher supports being sideloaded with AltStore, Sideloadly, and Xcode. Instructions to use AltStore are below--for other options, refer to their documentation. \n \n \n Follow the official guide on installing AltStore itself: \n \n Instructions for Mac and Windows \n \n \n \n Install the latest release using this Install with AltStore button. \n \n For a specific release, you can find its button on the Releases page \n \n \n \n Installing PojavLauncher is not the end for iOS devices. In order to play Minecraft itself, you will need to enable JIT . \n \n Sideloading (Jailbroken) \n Currently, AppSync Unified is not supported. There is an issue regarding the data directory when installed with AppSync. \n You can follow the Sideloading (TrollStore) or Sideloading (Unjailbroken) steps to sideload on a jailbroken iDevice. Regardless of the method, you will benefit from automatic JIT enabling and more memory allocation. \n \n GitHub Actions \n Requires a GitHub account in order to download. \n If you want the latest and greatest to test before the official release, you can grab a copy from GitHub Actions. \n \n Start off by heading to the PojavLauncher iOS repository and switching to the "Actions" tab. \n \n \n \n Next, select "Development Build" in the workflow selection menu. \n \n \n \n Choose a build with a green or blue checkmark next to the branch you want to download.\n \n main will be the one for most people. \n \n \n \n \n \n Under "Artifacts", choose net.kdt.pojavlauncher.ipa \n \n \n Once you have an Actions build downloaded, you can now unzip the file and use this .ipa for TrollStore or sideloading. \n \n Source \n Instructions coming in a future revision to this website. \n \n'},{title:"System support in future versions of PojavLauncher iOS",frontmatter:{},regularPath:"/IOS-SUPPORT.html",relativePath:"IOS-SUPPORT.md",key:"v-d168dba2",path:"/IOS-SUPPORT.html",headers:[{level:2,title:"But why?",slug:"but-why"},{level:2,title:"So what happens now?",slug:"so-what-happens-now"}],lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" System support in future versions of PojavLauncher iOS \n This announcement will be covering the next 3 releases of PojavLauncher iOS. \n We've made some great strides with the iOS port of PojavLauncher: fixing 1.17 and newer , bringing OpenJDK 8 to iOS , and now unveiling an unjailbroken variant . However, all of the advancements we're making also stirred up old conversations, and we've come to a final conclusion: \n A future release of PojavLauncher will require iOS 14.0 and later. \n But why? \n Supporting iOS 12.0 and newer was a feat of engineering. However, it created multiple issues with feature support and user experience. We need to verify that our code works on iOS 12 before going ahead and compiling--if it does not, this complicates our development as we are faced with two options: dropping the feature on older versions, or importing external libraries. This causes slower development times, or lack of the feature entirely for our users. \n We also took a look at the userbase currently playing on PojavLauncher. Most of the users asking for support in our Discord server (which is many times more active than the Issues tab on the GitHub repository) are already running iOS 14.0 or newer, and a few cases of users on iOS 13. We barely see users running iOS 12 anymore, and now that PojavLauncher works unjailbroken, users can update to a newer release of iOS while still retaining Java Edition. \n This decision also comes after we understood that we don't really have the ability to test on these older versions anymore. Our devices are already running iOS 14.0+, and so are most of our testers. \n So what happens now? \n Things are going to get somewhat complex, but this document will sort these things out. \n PojavLauncher 2.1 - Recap \n PojavLauncher 2.1 was largely unchanged from its original plans. Just to recap, its key features: \n \n New split user interface to allow switching menus with ease \n Rewritten preferences menu \n Transitioned code to Objective-C from Java \n First release with compatibility unjailbroken \n Final release with jailbreak-specific packages \n \n This release will also begin to warn users with 1GB of memory about the incoming end-of-life. \n \n PojavLauncher 2.2 - 1GB EOL \n PojavLauncher 2.2 was already planned to drop the Apple A7-equipped devices from support, due to performance and stability issues. This has been extended all devices with less than 1 gigabyte of total memory: \n \n iPhone 5s \n iPhone 6 \n iPhone 6 Plus \n iPad mini (2nd generation) \n iPad mini (3rd generation) \n iPad Air (1st generation) \n iPod touch (6th generation) \n \n The a7_allow boolean in the preferences file has been replaced with force_unsupported_launch to reflect the change. As stated before, support for these devices will end 3 weeks after 2.2 releases, or immediately, for you, if this boolean is toggled. \n This release will also begin to warn users on iOS 12 or 13 about the incoming end-of-life. If you are using a device that is capable of running iOS 14 or later, the warning will additionally tell you to upgrade to a newer version of iOS. \n \n PojavLauncher 2.3 - iOS 14.0+ begins \n PojavLauncher 2.3 will begin the end-of-life process for iOS 12/13 users. Taking a similar approach to 2.2, the force_unsupported_launch boolean can be toggled to override the behaviour of the launcher not opening. Support for these versions will end 3 weeks after 2.3 releases, or immediately, for you, if this boolean is toggled. \n As part of this deprecation, beta builds of PojavLauncher 2.4 will move to iOS 14.0 and newer APIs. Moving to these APIs may break the boolean's ability to continue launching the application. \n \n PojavLauncher 2.4 - iOS 14.0+ completed \n PojavLauncher 2.4 will complete the transition to iOS 14.0 APIs and be incompatible with iOS 12/13 without modification to the source code. \n \n"},{title:"Adding custom Java arguments",frontmatter:{},regularPath:"/JAVA-ARGS.html",relativePath:"JAVA-ARGS.md",key:"v-beda3462",path:"/JAVA-ARGS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Adding custom Java arguments \n"},{title:"Dealing with iOS memory limits",frontmatter:{},regularPath:"/JETSAM.html",relativePath:"JETSAM.md",key:"v-61ce28a2",path:"/JETSAM.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Dealing with iOS memory limits \n"},{title:'iOS and "JIT"',frontmatter:{},regularPath:"/JIT.html",relativePath:"JIT.md",key:"v-ab47dc22",path:"/JIT.html",headers:[{level:2,title:"What is JIT and why do I care?",slug:"what-is-jit-and-why-do-i-care"},{level:2,title:"What does this mean for PojavLauncher?",slug:"what-does-this-mean-for-pojavlauncher"},{level:3,title:"Jailbroken devices",slug:"jailbroken-devices"},{level:3,title:"Unjailbroken devices",slug:"unjailbroken-devices"}],lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" iOS and \"JIT\" \n What is JIT and why do I care? \n JIT stands for just-in-time compilation , and (although not specific to Java), it serves as a method of executing Java code quicker then the alternatives, by compiling as-needed functions at runtime, rather than its slower alternatives to compile all code at runtime repeatedly or writing in a less portable, hardware-level format. It is the fastest method to running Minecraft: Java Edition on mobile devices, essentially required for a usable experience. \n On Apple's mobile platforms (iOS, iPadOS, tvOS, in our case), a security feature known as code-signing is deeply rooted in the operation of the system. It serves to verify that applications haven't been tampered with after they were installed by a user, so that a malicious payload cannot be installed after-the-fact by a malicious someone. However, due to the process in which code-signing works, this prevents JIT from working properly as it works by reading code, modifying it, and then executing it in some fashion (whether that be by copying the code to a new location in memory, executing directly, or mirroring). \n What does this mean for PojavLauncher? \n Jailbroken devices \n Jailbroken device users don't need to worry about JIT requirements, as PojavLauncher is built to detect jailbreaks and automatically enable new features. \n Unjailbroken devices \n Unjailbroken users can see two different outcomes, based on what they used to sideload PojavLauncher. \n TrollStore \n If you used TrollStore to sideload PojavLauncher, good news: PojavLauncher takes advantage of the extended capabilities with TrollStore and automatically enables JIT when launched. \n Normal sideload \n If you sideload normally, you will need to enable JIT in some way. The most common method is to attach a debug server to the application while it's running - JITStreamer, AltStore, and Jitterbug all use this with their Jit enabling functions. The only downside to this method is that you are required to be connected to a WiFi network in order to enable JIT. \n PojavLauncher has native integration with JITStreamer, and we recommend following the steps available here to get started. Alternatively, you can use AltStore or, for more advanced users, Jitterbug . Methods not listed here are not confirmed or recommended by us for use with PojavLauncher. \n"},{title:"Is PojavLauncher legal and safe to use?",frontmatter:{},regularPath:"/LEGAL.html",relativePath:"LEGAL.md",key:"v-003c2faf",path:"/LEGAL.html",lastUpdated:"10/31/2022, 11:37:19 AM",lastUpdatedTimestamp:1667216239e3,content:" Is PojavLauncher legal and safe to use? \n Although in the past it may have not been the case, PojavLauncher is now legal in the eyes of Microsoft. We take care to prevent piracy with our launcher, and do not provide support for those who do not own the game. \n PojavLauncher also abides by the Minecraft EULA, providing a free and open-source launcher that does not redistribute game files on other servers. \n Authentication and downloads are performed directly with Mojang's servers--PojavLauncher never collects your information, credentials, or data, and your information is stored on-device where only you can access it. \n PojavLauncher does not cause harm to your device, and does not distribute harmful programs and executables. \n \n This cannot be verified if you acquire PojavLauncher from a source that is not official. \n For iOS users: jailbreaking can be considered a security risk, so be cautious when jailbroken. \n Other Minecraft: Java Edition on Android/iOS apps claims properties of PojavLauncher. They are not owned nor managed by PojavLauncherTeam. \n \n"},{title:"Offline mode is going places.",frontmatter:{},regularPath:"/LOCAL-MODE.html",relativePath:"LOCAL-MODE.md",key:"v-7a85af9e",path:"/LOCAL-MODE.html",lastUpdated:"3/9/2023, 5:28:16 AM",lastUpdatedTimestamp:1678339696e3,content:" Offline mode is going places. \n Offline mode has been replaced by local accounts, which still allows you to play Minecraft offline but does not allow you to download Minecraft. In order to download Minecraft, you will have to sign in to the launcher using a online account (Microsoft/Mojang account with Minecraft purchased) \n PojavLauncher does NOT , and will NEVER support piracy acts . You MUST purchase Minecraft legally and follow Mojang's Terms of Service to download Minecraft.\nTo purchase Minecraft click this . \n"},{title:"Supported Minecraft versions",frontmatter:{},regularPath:"/MCVERS.html",relativePath:"MCVERS.md",key:"v-f8efcd22",path:"/MCVERS.html",headers:[{level:2,title:"Android",slug:"android"},{level:2,title:"iOS",slug:"ios"}],lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Supported Minecraft versions \n With each new Minecraft release comes questions: how well does it play nice with PojavLauncher? \n Thanks to the hard work from PojavLauncherTeam, both the Android and the iOS port now cover most Minecraft versions... \n ...with some small exceptions that will be listed below. \n Android \n Current issues, as of the Dahlia update \n iOS \n Current issues, as of the Raw Iron update \n"},{title:"Installing custom versions of Minecraft",frontmatter:{},regularPath:"/MODDED-MC.html",relativePath:"MODDED-MC.md",key:"v-010d50e2",path:"/MODDED-MC.html",headers:[{level:3,title:"Installation:",slug:"installation"},{level:3,title:"Notes:",slug:"notes"}],lastUpdated:"3/10/2023, 12:57:25 PM",lastUpdatedTimestamp:1678453045e3,content:' Installing custom versions of Minecraft \n If you want an old mod or modpack to run (Minecraft 1.2.4 and older), this is for you. Warning, not for newcomers! \n Installation: \n \n If you are on Android, install MiXplorer and MiX Archive \n Make a copy of the Minecraft version you want to modify \n Rename the custom version folder , .jar and .json to your desired custom version name (for example, foo , foo.jar , foo.json ) \n Open the custom version\'s .json with MiX\'s Text Editor \n Remove "downloads:{"client"...} as shown in the screenshot \n \n \n \n Change "id": "1.2.4" to "id": "(your custom version name)" \n Change "mainClass": "net.minecraft.launchwrapper.Launch" to "mainClass": "net.minecraft.client.Minecraft" \n Save the .json \n Modify your .jar as desired, make sure to delete the META-INF folder afterwards. \n Start up your custom version! \n Notes: \n \n If your game is stuck at the Mojang screen afterwards, try deleting options.txt \n This guide is NOT for Babric or Cursed Fabric! \n \n'},{title:"Modpacks",frontmatter:{},regularPath:"/MODPACKS.html",relativePath:"MODPACKS.md",key:"v-d732ddea",path:"/MODPACKS.html",headers:[{level:2,title:"Official Modpacks from PojavLauncherTeam",slug:"official-modpacks-from-pojavlauncherteam"},{level:2,title:"Installing Modpacks",slug:"installing-modpacks"}],lastUpdated:"2/23/2023, 1:16:38 PM",lastUpdatedTimestamp:1677158198e3,content:" Modpacks \n Modpacks, usually archived in a .zip form containing mod metadatas, are mods usually \"duct taped\" together to bring modded Minecraft in a more convenient way rather than handpicking mods one by one. \n Popular examples of these can be found on the CurseForge website. \n Official Modpacks from PojavLauncherTeam \n \n PojavOptimize (crystall1nedev, Chuck_Norris_) - A collection of mods to improve the performance and user experience. \n PojavOptimize (GaucovyAero) - For maximum FPS, this modpack ships with the lowest settings possible. \n \n These modpacks are specially made for PojavLauncher, but it doesn't mean you can't try them on PC too! \n Installing Modpacks \n ⚠️ There is NO modpack installer in the launcher itself. It won't be added in the near future. \n"},{title:"Unsupported Mods and Clients",frontmatter:{},regularPath:"/MODS-UNSUPPORTED.html",relativePath:"MODS-UNSUPPORTED.md",key:"v-3eadfe49",path:"/MODS-UNSUPPORTED.html",headers:[{level:2,title:"Performance Mods + Shaders",slug:"performance-mods-shaders"},{level:2,title:"Skyblock Mods",slug:"skyblock-mods"},{level:2,title:"Input-related Mods",slug:"input-related-mods"},{level:2,title:"Other Mods",slug:"other-mods"},{level:2,title:"Unsupported Clients",slug:"unsupported-clients"}],lastUpdated:"4/4/2023, 5:18:27 AM",lastUpdatedTimestamp:1680585507e3,content:" Unsupported Mods and Clients \n Not everything that works on PC works on PojavLauncher. Below is a non-exhaustive list of mods that may not work. \n Performance Mods + Shaders \n \n \n Sodium ( patch for GL4ES) \n \n \n Rubidium ( patch for GL4ES) \n \n \n Chlorine \n \n \n ShadersMod (GLSL Shaders) \n \n \n Iris , Iris Installer \n \n \n OptiFine ( Render Regions don't work , everything else does) - Big note here. The only supported shaders are Open4ES for GL4ES. It works best with Adreno graphics (found in Qualcomm Snapdragon SoCs) and PowerVR graphics, with required patches (found in several low-end MediaTek SoCs). Mali GPUs are not supported. Below is a list of smartphones that are tested and works with Open4ES: \n \n Xiaomi Poco F3 (Snapdragon 870) \n Xiaomi Poco X5 Pro (Snapdragon 778G) \n Xiaomi Redmi Note 8 (Snapdragon 665) \n Oppo A53 (Snapdragon 460) \n Skyblock Mods \n \n Essential \n Skytils ( 1.3.0-pre5 works) \n Patcher ( 1.6.1 works) \n NotEnoughUpdates ( 2.1.1-pre-1 works) \n Skyblock Extras \n Input-related Mods \n \n MidnightControls \n Controllable \n MouseTweaks \n almost all of them don't work because they aren't made with Android's inputs in mind \n Other Mods \n \n Create \n Flywheel \n Physics Mod \n Scannable (Works on 1.12) \n Colormatic \n ItemPhysic ( Lite works ) \n RandomPatches (Forge) (Fabric) \n Smooth Font \n MrCrayfish's Gun Mod (1.16.5) \n Applied Energistics , Applied Energistics 2 \n Zombe \n ReplayMod (FFMPEG wrongly placed) \n Dynamic Surroundings (White textures on 1.12) \n Sex mod (thanks @Adiixyz ) \n Immersive Vehicles (Forge Only) \n Immersive Engineering (Works on 1.12) \n Immersive Portals \n Immersive Railroading \n Immersive Engineering \n DiscordRPC - Big note here. If your PvP/Hack Client crashes because of this, contact their developers for a fix. \n Unsupported Clients \n \n BatMod \n LabyMod \n MysteryMod \n Lunar Client (Obvious reason, \".exe\") \n Badlion Client (same as Lunar ^) \n Salwyrr Client (how do you expect a launcher to run in a launcher?) \n Meteor Client \n Pizza Client \n Cheeto Client \n 3arthh4ck ( patched version here) \n Ares Client \n Credits \n \n \n https://github.com/Mathias-Boulay/ and all the people in issue #1948 \n \n \n https://github.com/ZenZenXDz \n \n \n https://github.com/revoscode \n \n \n https://github.com/GaucovyAero \n \n \n"},{frontmatter:{},regularPath:"/NOTCHFIX.html",relativePath:"NOTCHFIX.md",key:"v-2a5ebdfe",path:"/NOTCHFIX.html",lastUpdated:"2/22/2023, 12:51:27 PM",lastUpdatedTimestamp:1677070287e3,content:""},{title:"Optimizing the game",frontmatter:{},regularPath:"/OPTIMIZATION.html",relativePath:"OPTIMIZATION.md",key:"v-e815d23e",path:"/OPTIMIZATION.html",headers:[{level:2,title:"OptiFine",slug:"optifine"},{level:3,title:"Getting (and installing) OptiFine",slug:"getting-and-installing-optifine"},{level:2,title:"Sodium",slug:"sodium"},{level:2,title:'"Optimizing" ModPacks',slug:"optimizing-modpacks"},{level:2,title:"JVM Arguments",slug:"jvm-arguments"}],lastUpdated:"10/28/2022, 9:17:13 AM",lastUpdatedTimestamp:1666948633e3,content:" Optimizing the game \n There are lots of ways to optimize your Java Edition experience if it's being slow for you; or your device is just bad in general. From mods like OptiFine and Sodium to more complex stuff like JVM arguments, we'll cover all of them here. \n OptiFine \n OptiFine, previously known as Optimine and OptiFog; is a Minecraft modification created by sp614x, Insecs, Payton147 and lacuravivid in which the development began on December 22, 2010; was a modification originally created about pushing the fog away but also other features; like FPS Boost, Occlussion Culling, Hidden Geometry removal, Texture Mipmaping and Chunk Loading optimizations in the first development/beta versions of Minecraft \n Getting (and installing) OptiFine \n \n \n Go to the official OptiFine website; optifine.net .\n \n \n \n Depending on what Minecraft version you mainly use, get the specific OptiFine for it. Let's say; I play 1.12.2, so I'll get the latest 1.12.2 OptiFine available.\n Sodium \n \"Optimizing\" ModPacks \n JVM Arguments \n"},{title:'"There was a problem while parsing the package" error while installing',frontmatter:{},regularPath:"/PARSINGERROR.html",relativePath:"PARSINGERROR.md",key:"v-c6805a6a",path:"/PARSINGERROR.html",lastUpdated:"3/9/2023, 5:28:16 AM",lastUpdatedTimestamp:1678339696e3,content:' "There was a problem while parsing the package" error while installing \n Google Chrome may corrupt the installation of PojavLauncher. Instead of Chrome, use Firefox or Brave . \n Alternatively, you can use Split APKs Installer (SAI) if you would like to check the error message. (Most default installers do not show the installation error message) \n'},{title:"PojavLauncher",frontmatter:{home:!0,icon:"home",title:"PojavLauncher",heroImage:"/logo.png",heroText:"PojavLauncher",tagline:"A flexible, fast and open-source Minecraft Java Edition launcher for Android and iOS",actionText:"Get Started →",actionLink:"/INSTALL.md",copyright:!1,footer:"GPLv3 Licensed | Copyright © 2022, PojavLauncherTeam"},regularPath:"/",relativePath:"README.md",key:"v-b555e268",path:"/",lastUpdated:"10/30/2022, 11:13:14 PM",lastUpdatedTimestamp:1667171594e3,content:""},{title:'"App not installed"',frontmatter:{},regularPath:"/REFUSALOFINSTALL.html",relativePath:"REFUSALOFINSTALL.md",key:"v-9b08b72a",path:"/REFUSALOFINSTALL.html",headers:[{level:2,title:"Install with PC/Laptop",slug:"install-with-pc-laptop"},{level:2,title:"Install without PC/Laptop (Android 11 and newer only)",slug:"install-without-pc-laptop-android-11-and-newer-only"}],lastUpdated:"3/16/2023, 9:32:48 PM",lastUpdatedTimestamp:1679002368e3,content:" \"App not installed\" \n The error message looks like this: \n \n Not sure why this happens, but it only happened to one dev build for VenomousSteam81. \n Install with PC/Laptop \n To fix, simply grab your PC/Laptop (unless you have Android 11 and above, continue to the next session), install ADB for your OS. Then, search up how to use adb for your OS. After figuring that out, go ahead and connect your phone to your PC. \n Now, download the PojavLauncher build you downloaded on your phone (or copy the one off of your phone), do adb pm install path/to/pojavlauncher/apk.apk (if that doesn't work and gives an error, use adb shell pm install path/to/pojavlauncher/apk.apk ), and it should install. If not, please make an issue on the wiki github , making sure to mention VenomousSteam81. \n Install without PC/Laptop (Android 11 and newer only) \n First, go to settings and enable developer options (not telling you how to do so), turn on wireless ADB, accept all the ADB stuff, then either download and build it yourself with termux, buy the app from the play store , or go find some apk on the internet. \n Next, download PojavLauncher from GitHub Actions . Open LADB, accept the ADB connection, then type (or copy paste) pm install path/to/pojavlauncher/apk.apk . If that also doesn't work, please make an issue on the wiki github , making sure to mention VenomousSteam81. \n Thank you for your time! \n"},{title:"Renderers",frontmatter:{},regularPath:"/RENDERERS.html",relativePath:"RENDERERS.md",key:"v-fc8dde62",path:"/RENDERERS.html",headers:[{level:2,title:"Holy GL4ES",slug:"holy-gl4es"},{level:3,title:"A screenshot of Holy GL4ES running Minecraft 1.19.4",slug:"a-screenshot-of-holy-gl4es-running-minecraft-1-19-4"},{level:2,title:"ANGLE",slug:"angle"},{level:3,title:"A screenshot of ANGLE running Minecraft 1.19.4",slug:"a-screenshot-of-angle-running-minecraft-1-19-4"},{level:2,title:"virglrenderer",slug:"virglrenderer"},{level:3,title:"A screenshot of virglrenderer running Minecraft 1.12.2",slug:"a-screenshot-of-virglrenderer-running-minecraft-1-12-2"}],lastUpdated:"4/10/2023, 12:54:14 PM",lastUpdatedTimestamp:1681131254e3,content:" Renderers \n Minecraft runs on OpenGL, and mobile devices generally only support OpenGL ES (GLES). And since Minecraft won't run on GLES, we have to use renderers as compatibility layers between OpenGL ES and OpenGL. \n Holy GL4ES \n \n Designed for performance, Holy GL4ES is the default renderer in PojavLauncher and should be used in almost all scenrarios. \n Supports OpenGL 2.1 and has shader converting capabilities, thus makes up for about 1/8 of the OpenGL 3.x standard. \n Works on all versions of vanilla Minecraft. \n A screenshot of Holy GL4ES running Minecraft 1.19.4 \n ANGLE \n \n A bit slower than Holy GL4ES, runs on Vulkan. Should be used only in specific cases, where one can't load a server resource pack or a mod does not run because of missing OpenGL extensions. \n Supports OpenGL 3.2 only. \n Only works on Minecraft 1.17+ \n A screenshot of ANGLE running Minecraft 1.19.4 \n virglrenderer \n \n Very slow, will soon be removed. It's only use cases are mods that don't run because of missing OpenGL extensions and running shaders. \n Supports OpenGL 4.3. \n Works on Minecraft 1.7+, can be extremely buggy. \n A screenshot of virglrenderer running Minecraft 1.12.2 \n \n"},{title:"The road ahead for PojavLauncher",frontmatter:{},regularPath:"/ROADMAP.html",relativePath:"ROADMAP.md",key:"v-a4d8fe62",path:"/ROADMAP.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" The road ahead for PojavLauncher \n"},{title:"Shaders",frontmatter:{},regularPath:"/SHADERS.html",relativePath:"SHADERS.md",key:"v-1b47640f",path:"/SHADERS.html",headers:[{level:3,title:"Open4ES",slug:"open4es"},{level:3,title:"Screenshot of Open4ES-Chocapic on Minecraft 1.8.9",slug:"screenshot-of-open4es-chocapic-on-minecraft-1-8-9"}],lastUpdated:"4/10/2023, 12:22:28 PM",lastUpdatedTimestamp:1681129348e3,content:" Shaders \n Open4ES \n \n Famous shaders (e.g. SEUS), which are converted to work with GL4ES. \n Open4ES GitHub repository here . \n Open4ES Old Versions Archive here . \n Screenshot of Open4ES-Chocapic on Minecraft 1.8.9 \n \n"},{title:"Signing in",frontmatter:{},regularPath:"/SIGN-IN.html",relativePath:"SIGN-IN.md",key:"v-a6521322",path:"/SIGN-IN.html",headers:[{level:2,title:"",slug:""}],lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Signing in \n PojavLauncher supports multiple types of accounts to sign in: \n \n"},{title:"Bringing PojavLauncher to unjailbroken iOS",frontmatter:{},regularPath:"/UNJAIL.html",relativePath:"UNJAIL.md",key:"v-5ed8efd6",path:"/UNJAIL.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Bringing PojavLauncher to unjailbroken iOS \n After many months working on PojavLauncher for unjailbroken devices, we're so excited to announce PojavLauncher 2.1--the first official build of PojavLauncher to support unjailbroken iDevices! This means that you can enjoy PojavLauncher while still keeping your device secure and on the latest versions of iOS! \n"},{frontmatter:{},regularPath:"/ZINK.html",relativePath:"ZINK.md",key:"v-751f9e23",path:"/ZINK.html",lastUpdated:"2/22/2023, 12:51:27 PM",lastUpdatedTimestamp:1677070287e3,content:""},{title:"Supported Devices",frontmatter:{},regularPath:"/archived_pages/DEVICES_LINUX_INCL.html",relativePath:"archived_pages/DEVICES_LINUX_INCL.md",key:"v-051fd6ef",path:"/archived_pages/DEVICES_LINUX_INCL.html",headers:[{level:2,title:"Android",slug:"android"},{level:3,title:"ChromeOS",slug:"chromeos"},{level:3,title:"Linux",slug:"linux"},{level:2,title:"iOS",slug:"ios"}],lastUpdated:"10/29/2022, 1:35:25 PM",lastUpdatedTimestamp:1667050525e3,content:" Supported Devices \n Android \n Minimum requirements: \n \n 32-bit (aarch32 or 32-bit/i386) CPU \n Android 5.0 \n 1 gigabyte of RAM \n \n Recommended requirements: \n \n 64-bit (aarch64 or 64-bit/x86_64) CPU \n Android 8.0 \n 4 gigabytes of RAM \n GPU with \"Vulkan\" API (support for vulkanmod and/or v3_zink ) \n ChromeOS \n Chromebooks have very similar system requirements, however Android version does not matter, as long as you can install Android apps. \n Linux \n It is not recommended to run PojavLauncher on Linux. Though, you can try sideloading the app on your distribution by using Anbox or Waydroid. We won't provide support for it though. \n \n Installing Anbox\n \n on Ubuntu ( snap is required); \n \n snap install --devmode --beta anbox\n \n You'll have to install necessary kernel modules though, so check the official Anbox wiki about it.\n \n \n on Arch-based (Manjaro, Endeavor, Garuda) distributions; \n Check the official Arch wiki about it, as it is a loooong tutorial to be included here. \n iOS \n Minimum requirements: \n \n Apple A8 SoC\n \n The Apple A7 SoC is losing support in PojavLauncher 2.2. \n \n \n iOS 12 \n 1 gigabyte of RAM \n \n Recommended requirements: \n \n Apple A10/A10X Fusion SoC \n iOS 14 \n 2 gigabytes of RAM \n \n"},{title:"OpenJDK 8, coming to iOS",frontmatter:{},regularPath:"/archived_pages/JDK8.html",relativePath:"archived_pages/JDK8.md",key:"v-687695a2",path:"/archived_pages/JDK8.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" OpenJDK 8, coming to iOS \n"},{title:"Supporting 1.17 and beyond",frontmatter:{},regularPath:"/archived_pages/OGL32.html",relativePath:"archived_pages/OGL32.md",key:"v-98819f36",path:"/archived_pages/OGL32.html",headers:[{level:2,title:"Known issues",slug:"known-issues"},{level:2,title:"Platform-specific instruction",slug:"platform-specific-instruction"},{level:3,title:"Android:",slug:"android"},{level:3,title:"iOS:",slug:"ios"},{level:2,title:"Note for Minecraft 21w37a+ on Android (thanks to @NotAHero04)",slug:"note-for-minecraft-21w37a-on-android-thanks-to-notahero04"},{level:2,title:"Does OptiFine or Sodium works?",slug:"does-optifine-or-sodium-works"},{level:3,title:"OptiFine",slug:"optifine"},{level:3,title:"Sodium",slug:"sodium"}],lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:' Supporting 1.17 and beyond \n After many days and nights spent working on a temporary solution (and trust me, this is definitely temporary), we\'ve gotten something done: support for 1.17 is here. With backporting work done by artdeell and Java 17 ported by DuyKhanhTran, 1.17 is usable and playable with gl4es. This also applies with 1.17.1 and 1.18 experimental snapshots. \n Here\'s how to get it to work. You need to have a GitHub account in order to download the builds and JRE. Regardless of your platform, you\'ll need to download this resource pack . The resource pack seems to be no longer required as it is automated in newer builds. This is artdeell\'s patch for 1.17 on gl4es. \n Known issues \n \n [Android only] Crosshair icon and Block outline don\'t render. \n You can tell us in our Discord server or open an issue if you found one. \n UPDATE: 32-bit platforms (ARMv7 and i386) are currently broken for various reasons. We are looking for a solution. We finally found a gold bar under the sea! Although this JRE17 is not initially made for PojavLauncher, it works magically. Now you can use this JRE17 build to play 1.17.1 until we stabilize it and bring it to PojavLauncher. (Very soon.) \n Platform-specific instruction \n Android: \n \n Download latest build: here . \n Download JRE17: here . You need to download the artifact that matches your device architecture: jre17- , don’t pick jdk17 or debuginfo. \n When you install the APK, it will be displayed as second app if you have one installed before. \n Go to launcher settings. \n Choose Manage runtime -> Add new. Pick the downloaded JRE17 runtime there. \n Switch renderer to gl4es 1.1.5 - OpenGL ES 3. \n On 32-bit, you need to add -Xss1m to JVM arguments, otherwise Java will crash. \n Now launch Minecraft 1.17 and enjoy! \n iOS: \n \n Install package openjdk-16-jre or openjdk-17-jre (if you have Procursus bootstrap) \n Get latest build from the GitHub or Doregon\'s Repo . \n After install, go into PojavLauncher, sign in and choose the more icon to enter Preferences. \n Change Java version to 16 or 17, then restart the launcher in order to take effect. For 1.18 snapshots, Java 17 is recommended as Java 16 seems to cause a weird problem. \n Change Renderer to tinygl4angle . \n Now launch Minecraft 1.17 and enjoy! \n Since iOS uses tinygl4angle renderer which supports (most?) GLSL 1.50 functionally, this can also be applied to 21w37a+. \n Note for Minecraft 21w37a+ on Android (thanks to @NotAHero04 ) \n \n Since 21w37a, Mojang bumped the resource pack version to 8, which rendered the current assets-v0 patch unusable. This is the patch for those versions. Simply replace it to the existing assets-v0, and you’re good to go! \n A small note: When the popup about 1.17 appears, tap Play Anyway . Tapping OK will overwrite the patch . \n Another small note: 1.17.1 or below will simply not work with this patch. I recommend using per-version config feature with it. If you still want to play 1.17.1 or below, keep the original assets-v0 and follow this instruction: \n \n \n \n Download the new assets-v0 on the PojavLauncher Discord server, or here. \n \n \n Give it another name then move it to /sdcard/Android/data/net.kdt.pojavlaunch[.debug]/files/.minecraft/resourcepacks (on Android 10 or later) or /sdcard/games/PojavLauncher/.minecraft/resourcepacks (on Android 9 or below). \n \n \n Modify the options.txt file.\nWith the file names above, change the resourcePacks key to:\nresourcePacks:["assets-v0.zip"," new_patch_name .zip"]. \n \n \n Now enjoy your game. Be sure to choose Play Anyway when the popup shows. \n \n \n Until we get a more permenant solution to fix 1.17 and newer, this is what we have. It\'s not perfect, but it works. We hope to see a version of gl4es that translates OpenGL 3 to OpenGL ES, or continue to work on Zink as a backup method if all else fails.* \n Does OptiFine or Sodium works? \n OptiFine \n \n \n OptiFine seems to not working on Android, as the patch resource pack gets ignored. However, it works by putting patched shader files into the client. \n \n Download this patcher . Since OptiFine preloads some shader files, the assets-v0 resource pack trick could not be applied. \n Navigate to Options -> Launch a mod installer (the first option). Pick the downloaded patcher. \n Select the installed OptiFine version that you want to patch. \n Press "OK" to start the patch process. \n The alert "Patched version " will be displayed once the patching process finished, otherwise, an alert will display with some error description. Report this to us if this happens. \n Now go back to the launcher and press Play. When an alert displays about "install additional resources”, press “Play anyway”. \n Enjoy OptiFine moment. \n \n Known issue: Render Regions crashes the game. \n \n \n OptiFine works on iOS. Render Regions works. \n Sodium \n \n Sodium is currently not working on both platforms. \n \n'},{title:"Interacting with our fellow developers",frontmatter:{},regularPath:"/archived_pages/PARTNERSHIPS.html",relativePath:"archived_pages/PARTNERSHIPS.md",key:"v-72831da2",path:"/archived_pages/PARTNERSHIPS.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Interacting with our fellow developers \n"},{title:"PojavLauncher Website Archives",frontmatter:{},regularPath:"/archived_pages/",relativePath:"archived_pages/README.md",key:"v-66a0075c",path:"/archived_pages/",lastUpdated:"10/29/2022, 1:35:25 PM",lastUpdatedTimestamp:1667050525e3,content:" PojavLauncher Website Archives \n To keep up with changes in PojavLauncher's lifecycle, various pages will be archived if they are no longer updated and no longer relevant. These pages can be accessed by adding /archived_pages to the end of the domain name. \n Pages currently in the archive: \n Deprecating support for the Apple A7 chip (RIP-A7) \n Supporting 1.17 and beyond (OGL32) \n Interacting with our fellow developers (PARTNERSHIPS) \n OpenJDK 8, coming to iOS (JDK8) \n Installing PojavLauncher (ft. Linux) \n"},{title:"Deprecating support for the Apple A7 chip",frontmatter:{},regularPath:"/archived_pages/RIP-A7.html",relativePath:"archived_pages/RIP-A7.md",key:"v-1e60c8e2",path:"/archived_pages/RIP-A7.html",lastUpdated:"10/24/2022, 1:21:10 PM",lastUpdatedTimestamp:166661767e4,content:" Deprecating support for the Apple A7 chip \n The Apple A7 chip was legendary for its technological advances in 2013. However, it's almost a decade since the introduction of the first device with this processor. Apple no longer supports these devices on the latest versions of iOS, and iOS 12 performs with noticeable performance issues already. \n Due to these technical limitations imposed by the hardware and software on these devices, we're ending support for them with the release of PojavLauncher 2.2. \n This means the following: \n \n \n PojavLauncher 2.1 will warn A7 users about the upcoming deprecation, once upon every 30 launches of the app. This can be disabled by flipping the a7_allow preference to YES . \n \n \n PojavLauncher 2.1's code will be archived and moved to the 2.1-legacy branch. Security fixes will be applied in 2.1 as needed, but no new features will be added to these releases. Third-party users can choose to continue support for A7-related issues, however unofficial forks of PojavLauncher will not be supported. \n \n \n PojavLauncher 2.2 will disable support for A7 users on launch, requesting users to return to 2.1 or move to an A8+ device. This can also be overriden by flipping the a7_allow preference to YES , however support will not be provided for issues encountered while using an A7 device. \n \n If the issue affects other devices as well, the issue will be deemed valid if logs from a supported device are available. \n \n \n \n"},{frontmatter:{},regularPath:"/changelogs/ANDROID.html",relativePath:"changelogs/ANDROID.md",key:"v-cb4c1c86",path:"/changelogs/ANDROID.html",lastUpdated:"3/20/2023, 11:34:39 AM",lastUpdatedTimestamp:1679312079e3,content:" \n"},{title:"PojavLauncher iOS",frontmatter:{},regularPath:"/changelogs/IOS.html",relativePath:"changelogs/IOS.md",key:"v-7fc82f01",path:"/changelogs/IOS.html",headers:[{level:2,title:'2.2 "Deepslate"',slug:"_2-2-deepslate"},{level:2,title:'2.1 "Sculk Catalyst"',slug:"_2-1-sculk-catalyst"},{level:3,title:"Jailbreak requirement",slug:"jailbreak-requirement"},{level:3,title:"New features",slug:"new-features"},{level:3,title:"Security",slug:"security"},{level:3,title:"User interface",slug:"user-interface"},{level:3,title:"Fixes",slug:"fixes"},{level:3,title:"Issues",slug:"issues"},{level:2,title:"2.0.1",slug:"_2-0-1"},{level:2,title:'2.0 "Raw Iron"',slug:"_2-0-raw-iron"},{level:3,title:"Changes",slug:"changes"},{level:3,title:"Fixes",slug:"fixes-2"},{level:3,title:"Issues",slug:"issues-2"},{level:3,title:"A note for old iDevices",slug:"a-note-for-old-idevices"},{level:2,title:"1.2",slug:"_1-2"},{level:3,title:"Changes",slug:"changes-2"},{level:3,title:"Fixes",slug:"fixes-3"},{level:3,title:"Known issues",slug:"known-issues"},{level:3,title:"A note for old iDevices",slug:"a-note-for-old-idevices-2"},{level:2,title:"1.1",slug:"_1-1"},{level:3,title:"Changes",slug:"changes-3"},{level:3,title:"Fixes",slug:"fixes-4"},{level:3,title:"Known issues",slug:"known-issues-2"},{level:3,title:"A note for old iDevices",slug:"a-note-for-old-idevices-3"},{level:2,title:"1.0",slug:"_1-0"},{level:3,title:"Features",slug:"features"},{level:3,title:"Limitations",slug:"limitations"},{level:3,title:"Crashes",slug:"crashes"}],lastUpdated:"5/6/2023, 8:49:07 PM",lastUpdatedTimestamp:1683406147e3,content:' PojavLauncher iOS \n 2.2 "Deepslate" \n With this release of PojavLauncher, we refined features, fixed bugs, and implemented small additions to existing ones to buff user experience. While there are not many notable changes to discuss here, there are some we can show: \n \n Implemented a controller configurator \n Increased reliability in various places \n Added haptics to the on-screen controls \n Switched to new input methods to speed up control times \n Secured demo mode \n Added new preferences to control more of the app \n Resolve various issues with windowing in older versions \n and many, many more! \n \n This is the last major release of PojavLauncher that will support iOS 12 and 13. Important security patches and bug fixes will be applied when required for a limited time, however take note that issues encountered will not be considered high priority. See more information in #547. \n A full commit changelog is available here . \n 2.1 "Sculk Catalyst" \n Minor release, major changes! \n Jailbreak requirement \n PojavLauncher no longer requires a jailbreak to work, so it will also work on the latest iOS version. While it works, certain features are limited: \n \n You will need a support app to launch with JIT enabled. JitStreamer integration is done to automate this task. \n Initial Wi-Fi connection is required to enable JIT. Cellular data isn’t supported, Wi-Fi hotspot might be a workaround. \n RAM allocation is limited. Attempt to go beyond the limit will result in random crashes while loading world chunks. \n \n If installed with TrollStore, these limitations aren’t applied, as it has sandbox exceptions to bypass, so it works like when jailbroken. \n New features \n \n Added Demo mode support \n Automatic Java version and Renderer selection \n Cosmetica custom capes integration \n Complete Controller support \n Fullscreen AirPlay display support \n Keyboard and mouse support deepened \n Many settings that were missing from Android are added \n (iPadOS 16) Stage Manager support \n Security \n \n Patch log4shell exploit in client \n User interface \n \n Added vertical UI \n Redesigned Launcher UI to match Android \n The current login state will be shown in the title \n Play button is greyed out when launching \n Back button is hidden when launching \n Custom controls UI completed \n The control button editor is now a movable window \n When game crash occurs, Log Output will be shown for user to determine the problem in place \n Multilingual support: you can contribute your translation through Crowdin \n New switch to unlock iPadOS UI, allows iPhone users to unlock certain features that are only available on iPad (floating keyboard for example) \n Fixes \n \n Slight changes to error messages \n Fix Makefile errors in deploy and ipa \n Fix NullPointerException when launching ≤1.6.4 \n Fix NullPointerException when setting inherited fields \n Fix “Share your logs” not working \n Fix Forge, Fabric 1.17+ not launching \n Fix postinst issue on Procursus \n Issues \n \n Nintendo Switch Joy-Con controllers are only officially supported since iOS 16.0 \n Mouse support requires iOS 14.0 or later, keyboards require iOS 13.4 or later \n Old (pre-2.0) custom control .json files no longer work, remove to fix \n This is the last release that will support Apple devices with the A7 chip \n Mojang login has been removed with this release due to the March 10th deadline \n 2.0.1 \n This release is identical to v2.0, except with a fix for issues installing on Procursus jailbreak, and fixes for the depiction. \n 2.0 "Raw Iron" \n Changes \n \n The Login view has been simplified to three easy buttons \n The Offline Account has been replaced with Local Account . Installing Minecraft now requires a Mojang or Microsoft account logged in. \n New FAQ page to show quick answers to questions \n New About view to show quick details, links, and update history \n Ability to send logs from within the launcher \n The Select Account screen is now a pop-up window \n New picker view to switch versions without typing them manually \n Support to show your locally installed clients \n New settings page to manage preferences \n OpenJDK 8 support, to allow older versions of modded Minecraft \n New mod installer, built into the launcher \n Unfinished in-launcher custom controls (#292) \n Move to /usr/share , for better rootFS compatibility \n New packaging format (#291)\n \n release, for iOS 14 and lower (full root access jailbreaks) \n release-rootless, for iOS 15 (Procursus rootless jailbreak) \n Fixes \n \n WIP fix for typing on 1.12.2 and older \n The hotbar now works across GUI scales \n (With JDK 8) Forge 1.8.9 - 1.15.2 now work \n (With JDK 8) Vanilla 1.5.2 and under now work \n Buttons now scale correctly according to screen size \n Crash if login to Microsoft fails. \n Issues \n \n Old custom control .json files no longer work, remove to fix \n Custom controls settings page is not complete, there may be some issues! \n An unknown issue might cause Taurine, 14.3, and A12+ to crash on launch. \n A note for old iDevices \n \n If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds or servers due to too little RAM. Higher RAM can be set (using the Java arguments preference and overb0ard), but you may need to close all apps and remove some tweaks in order to free up enough. \n 1.2 \n Changes \n \n Use new method for Microsoft login \n Added gl4es 1.1.5 as an option \n WIP custom controls (can be changed by placing at /var/mobile/Documents/.pojavlauncher/controlmap/default.json ). Note that some functions may not work properly. \n WIP external mouse support \n Custom environment variables, in /var/mobile/Documents/.pojavlauncher/custom_env.txt \n Reduction of file size with removal of unused binaries \n Moved latestlog.txt and overrideargs.txt to /var/mobile/Documents/.pojavlauncher \n Fixes \n \n Fix file permission issues during install of package \n Hide home bar like Bedrock Edition \n Properly hide iPad status bar \n Known issues \n \n Crash if login to Microsoft fails. \n Control buttons notch offset seems doubled. \n Several Forge versions won’t work due to removed deprecated classes (see #67 and #68). \n Text input will not work on 1.12.2 and below. \n A note for old iDevices \n \n If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds or servers due to too little RAM. Higher RAM can be set (using the overrideargs.txt file and jetsamctl), but we are unsure if iOS 12 will give enough free RAM. \n 1.1 \n Changes \n \n Added a place to customize JVM Flags, by create and edit minecraft/overrideargs.txt file. \n Changed button offset for avoiding notch cutout on iPhone X and newer. \n Forge 1.13+ (not all) and Fabric API are now supported. \n launcher_profiles.json is now automatically created. \n Minecraft 1.6.1 to 1.13.2 are now playable. \n Mojang authentication was re-written, so it should work now. \n Fixes \n \n Fixed random crashes occur while Minecraft is initializing. \n Known issues \n \n Crash if login to Microsoft fails. \n Several Forge versions won’t work due to removed deprecated classes (see #67 and #68). \n Text input will not work on 1.12.2 and below. \n A note for old iDevices \n \n If your device has only 1GB RAM (total), it might able to boot Minecraft to main screen, but might not able to join worlds due to too few RAM. Higher RAM can be set, but I\'m unsure if iOS 12 will gives enough free RAM. \n 1.0 \n Features \n \n Login with Mojang (might not work), Microsoft (not tested) or offline. \n Minecraft 1.14+ are playable. \n Multiplayer and joining servers works. \n Audio works (need enable ringer). \n Fabric and OptiFine works. \n Bedrock-like gestures: click to hotbar item; click to place block (trigger right mouse); hold and move to destroy blocks (trigger hold left mouse), but attacking entites is left mouse, so not same as Bedrock. \n Hold screen on UI will hold the left mouse, so it can also used for moving the scroll bar. \n On-screen control buttons. \n Limitations \n \n Jailbreak is required in order to install OpenJDK and PojavLauncher. \n Forge won\'t work. \n Fabric API won\'t work. \n Tell us . \n Crashes \n \n I\'ve got some reports that JVM was crashing after press “Play” button. \n Also, it seems that checkra1n jailbroken devices will get crashed at entering Minecraft (?) \n They were all random crashes and will be fixed in next release. \n \n'},{title:"PojavLauncher Wiki Images",frontmatter:{},regularPath:"/images/",relativePath:"images/README.md",key:"v-7e90673c",path:"/images/",headers:[{level:2,title:"Directory Structure",slug:"directory-structure"},{level:2,title:"Contributing to this directory",slug:"contributing-to-this-directory"}],lastUpdated:"10/29/2022, 1:13:25 PM",lastUpdatedTimestamp:1667049205e3,content:" PojavLauncher Wiki Images \n This directory is pretty self explanatory; it contains images used for the Wiki \n Directory Structure \n images\n├── Actions\n│ ├── android\n│ │ └── Android-Actions-1.png\n│ │ Android-Actions-2.png\n│ │ Android-Actions-3.png\n│ │ Android-Actions-4.png\n│ └── ios\n│ └── iOS-Actions-1.png\n│ iOS-Actions-1.png\n│ iOS-Actions-1.png \n│ iOS-Actions-1.png\n├── Screenshots\n│ ├── Controls\n│ │\n│ └── OptiFine\n│ └── OptiFine.png\n│ OptiFine-1.png\n│ OptiFine-2.png\n│ \n└── EOF (END OF DIRECTORY) \n Contributing to this directory \n You can: \n \n Change images \n Replace image with a better quality\n \n Add missing images that you think is required \n \n \n \n Submit/Open a pull request on this repository! \n \n ^ w ^ -NeveuXon/Nev \n"}],themeConfig:{lastUpdated:!0,repo:"https://github.com/PojavLauncherTeam/PojavLauncherTeam.github.io/",docsDir:"",docsBranch:"lunaveux-patch-1",editLinks:!0,editLinkText:"Help us improve this page!",logo:"logo.png",sidebar:[{title:"Wiki",collapsable:!1,children:[{title:"Getting Started",collapsable:!1,sidebarDepth:1,children:["INSTALL","BUILD-FROM-SOURCE","SIGN-IN","INSTALL-MC","DEFAULT-CONTROLS"]},{title:"Frequently Asked Questions",collapsable:!0,sidebarDepth:1,children:[{title:"iOS-specific",collapsable:!0,sidebarDepth:1,children:["JETSAM","JIT"]},{title:"Android-specific",collapsable:!0,sidebarDepth:1,children:["PARSINGERROR","REFUSALOFINSTALL","32BIT","NOTCHFIX","FFMPEG","ZINK","SHADERS","RENDERERS","3PTYCLIENTS","117CC"]}]},{title:"Going further",collapsable:!0,sidebarDepth:1,children:["CUSTOM-CONTROLS","OPTIMIZATION","CUSTOM-MC","MODPACKS","ENV-VARS","JAVA-ARGS","DEBUG-LOG"]}]},{title:"About PojavLauncher",collapsable:!1,sidebarDepth:1,children:["LEGAL","DEVICES","MCVERS","MODS-UNSUPPORTED","ROADMAP"]},{title:"Contributing",collapsable:!1,sidebarDepth:1,children:["CONT-POJAV","CONT-WEBSITE","CONT-TRANSLATIONS"]},{title:"Recent Updates",collapsable:!1,sidebarDepth:1,children:["UNJAIL","IOS-SUPPORT","LOCAL-MODE"]}]}};n(242);Vn.component("Badge",()=>Promise.all([n.e(0),n.e(7)]).then(n.bind(null,353))),Vn.component("ThemeManager",()=>n.e(9).then(n.bind(null,301))),Vn.component("Badge",()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,354))),Vn.component("CodeBlock",()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,302))),Vn.component("CodeGroup",()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,303)));n(243),n(244);Vn.component("CodeSwitcher",()=>n.e(8).then(n.bind(null,304)));var Ys={name:"BackToTop",props:{threshold:{type:Number,default:300}},data:()=>({scrollTop:null}),computed:{show(){return this.scrollTop>this.threshold}},mounted(){this.scrollTop=this.getScrollTop(),window.addEventListener("scroll",Ss()(()=>{this.scrollTop=this.getScrollTop()},100))},methods:{getScrollTop:()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,scrollToTop(){window.scrollTo({top:0,behavior:"smooth"}),this.scrollTop=0}}},Zs=(n(245),Object(Ts.a)(Ys,(function(){var e=this._self._c;return e("transition",{attrs:{name:"fade"}},[this.show?e("svg",{staticClass:"go-to-top",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 49.484 28.284"},on:{click:this.scrollToTop}},[e("g",{attrs:{transform:"translate(-229 -126.358)"}},[e("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(229 151.107) rotate(-45)"}}),this._v(" "),e("rect",{attrs:{fill:"currentColor",width:"35",height:"5",rx:"2",transform:"translate(274.949 154.642) rotate(-135)"}})])]):this._e()])}),[],!1,null,"5fd4ef0c",null).exports);function Qs(e){const t=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{x:n.left-t.left,y:n.top-t.top}}var ec=[{},({Vue:e})=>{e.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{},({Vue:e})=>{e.component("CodeCopy",Cs)},{},{},({Vue:e})=>{e.component("BackToTop",Zs)},({Vue:e,router:t})=>{t.options.scrollBehavior=(t,n,r)=>{if(r)return window.scrollTo({top:r.y,behavior:"smooth"});if(!t.hash)return window.scrollTo({top:0,behavior:"smooth"});{if(e.$vuepress.$get("disableScrollBehavior"))return;const n=t.hash.slice(1),r=document.getElementById(n)||document.querySelector(`[name='${n}']`);if(r)return window.scrollTo({top:Qs(r).y,behavior:"smooth"})}}}],tc=n(88);class nc extends class{constructor(){this.store=new Vn({data:{state:{}}})}$get(e){return this.store.state[e]}$set(e,t){Vn.set(this.store.state,e,t)}$emit(...e){this.store.$emit(...e)}$on(...e){this.store.$on(...e)}}{}Object.assign(nc.prototype,{getPageAsyncComponent:as,getLayoutAsyncComponent:ss,getAsyncComponent:cs,getVueComponent:ls});var rc={install(e){const t=new nc;e.$vuepress=t,e.prototype.$vuepress=t}};function oc(e,t){const n=t.toLowerCase();return e.options.routes.some(e=>e.path.toLowerCase()===n)}var ic={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(e){const t=this.pageKey||this.$parent.$page.key;return ds("pageKey",t),Vn.component(t)||Vn.component(t,as(t)),Vn.component(t)?e(t):e("")}},ac={functional:!0,props:{slotKey:String,required:!0},render:(e,{props:t,slots:n})=>e("div",{class:["content__"+t.slotKey]},n()[t.slotKey])},sc={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},cc=(n(246),n(247),Object(Ts.a)(sc,(function(){var e=this._self._c;return e("span",[e("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[e("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),e("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),e("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),lc={functional:!0,render(e,{parent:t,children:n}){if(t._isMounted)return n;t.$once("hook:mounted",()=>{t.$forceUpdate()})}};Vn.config.productionTip=!1,Vn.use(Ja),Vn.use(rc),Vn.mixin(function(e,t,n=Vn){!function(e){e.locales&&Object.keys(e.locales).forEach(t=>{e.locales[t].path=t});Object.freeze(e)}(t),n.$vuepress.$set("siteData",t);const r=new(e(n.$vuepress.$get("siteData"))),o=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),i={};return Object.keys(o).reduce((e,t)=>(t.startsWith("$")&&(e[t]=o[t].get),e),i),{computed:i}}(e=>class{setPage(e){this.__page=e}get $site(){return e}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:e={}}=this.$site;let t,n;for(const r in e)"/"===r?n=e[r]:0===this.$page.path.indexOf(r)&&(t=e[r]);return t||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:e}=this.$page.frontmatter;return"string"==typeof e&&e}get $title(){const e=this.$page,{metaTitle:t}=this.$page.frontmatter;if("string"==typeof t)return t;const n=this.$siteTitle,r=e.frontmatter.home?null:e.frontmatter.title||e.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const e=function(e){if(e){const t=e.filter(e=>"description"===e.name)[0];if(t)return t.content}}(this.$page.frontmatter.meta);return e||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(e,t){for(let n=0;nn||(e.hash?!Vn.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(e.hash)}:{x:0,y:0})});!function(e){e.beforeEach((t,n,r)=>{if(oc(e,t.path))r();else if(/(\/|\.html)$/.test(t.path))if(/\/$/.test(t.path)){const n=t.path.replace(/\/$/,"")+".html";oc(e,n)?r(n):r()}else r();else{const n=t.path+"/",o=t.path+".html";oc(e,o)?r(o):oc(e,n)?r(n):r()}})}(n);const r={};try{await Promise.all(ec.filter(e=>"function"==typeof e).map(t=>t({Vue:Vn,options:r,router:n,siteData:Xs,isServer:e})))}catch(e){console.error(e)}return{app:new Vn(Object.assign(r,{router:n,render:e=>e("div",{attrs:{id:"app"}},[e("RouterView",{ref:"layout"}),e("div",{class:"global-ui"},tc.a.map(t=>e(t)))])})),router:n}}(!1).then(({app:e,router:t})=>{t.onReady(()=>{e.$mount("#app")})})}]); \ No newline at end of file diff --git a/assets/js/vendors~docsearch.9acfc3ae.js b/assets/js/vendors~docsearch.9acfc3ae.js new file mode 100644 index 00000000..05acc0b7 --- /dev/null +++ b/assets/js/vendors~docsearch.9acfc3ae.js @@ -0,0 +1,3 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{319:function(t,e,n){ +/*! docsearch 2.6.3 | © Algolia | github.com/algolia/docsearch */ +var r;"undefined"!=typeof self&&self,r=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=22)}([function(t,e,n){"use strict";var r,i=n(1);function s(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}t.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(t){if(void 0===t&&(t=navigator.userAgent),/(msie|trident)/i.test(t)){var e=t.match(/(msie |rv:)(\d+(.\d+)?)/i);if(e)return e[2]}return!1},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(t){return"number"==typeof t},toStr:function(t){return null==t?"":t+""},cloneDeep:function(t){var e=this.mixin({},t),n=this;return this.each(e,(function(t,r){t&&(n.isArray(t)?e[r]=[].concat(t):n.isObject(t)&&(e[r]=n.cloneDeep(t)))})),e},error:function(t){throw new Error(t)},every:function(t,e){var n=!0;return t?(this.each(t,(function(r,i){n&&(n=e.call(null,r,i,t)&&n)})),!!n):n},any:function(t,e){var n=!1;return t?(this.each(t,(function(r,i){if(e.call(null,r,i,t))return n=!0,!1})),n):n},getUniqueId:(r=0,function(){return r++}),templatify:function(t){if(this.isFunction(t))return t;var e=i.element(t);return"SCRIPT"===e.prop("tagName")?function(){return e.text()}:function(){return String(t)}},defer:function(t){setTimeout(t,0)},noop:function(){},formatPrefix:function(t,e){return e?"":t+"-"},className:function(t,e,n){return(n?"":".")+t+e},escapeHighlightedString:function(t,e,n){e=e||"";var r=document.createElement("div");r.appendChild(document.createTextNode(e)),n=n||"";var i=document.createElement("div");i.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(t)),o.innerHTML.replace(RegExp(s(r.innerHTML),"g"),e).replace(RegExp(s(i.innerHTML),"g"),n)}}},function(t,e,n){"use strict";t.exports={element:null}},function(t,e){var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString;t.exports=function(t,e,i){if("[object Function]"!==r.call(e))throw new TypeError("iterator must be a function");var s=t.length;if(s===+s)for(var o=0;o was loaded but did not call our provided callback"),JSONPScriptError:s("JSONPScriptError"," + (opens new window)

.

+ diff --git a/changelogs/IOS.html b/changelogs/IOS.html index 3c1f0811..a095677c 100644 --- a/changelogs/IOS.html +++ b/changelogs/IOS.html @@ -4,15 +4,15 @@ PojavLauncher iOS | PojavLauncher - + - - + +
- + diff --git a/images/index.html b/images/index.html index 417a8376..1ca34115 100644 --- a/images/index.html +++ b/images/index.html @@ -4,15 +4,15 @@ PojavLauncher Wiki Images | PojavLauncher - + - - + +
- + diff --git a/index.html b/index.html index 322c97e3..03c36f59 100644 --- a/index.html +++ b/index.html @@ -4,15 +4,15 @@ PojavLauncher - + - - + +
- +